新浪博客

使用fastjson合并两个JSONArray

2018-08-20 01:11阅读:

网上使用tjson合并两个JSONArray的实例基本没有,有些时通过JSON基础语法进行的JSONArray合并。
其实tjson这个工具包在JSON基础上扩充了很多实用的工具方法,比如合并两个JSONArray数组。


下面演示一下demo
Java代码
  1. public static void main(String[] args) {
  2. JSONArray jSONArrayA = new JSONArray();
  3. JSONObject jsonObjectA1 = new JSONObject();
  • jsonObjectA1.put('a', 1);
  • jsonObjectA1.put('b', 2);
  • jSONArrayA.add(jsonObjectA1);
  • JSONObject jsonObjectA2 = new JSONObject();
  • jsonObjectA2.put('a', 3);
  • jsonObjectA2.put('b', 4);
  • jSONArrayA.add(jsonObjectA2);
  • System.out.println('jSONArrayA:' + jSONArrayA);
  • JSONArray jSONArrayB = new JSONArray();
  • JSONObject jsonObjectB1 = new JSONObject();
  • jsonObjectB1.put('a', 3);
  • jsonObjectB1.put('b', 4);
  • jSONArrayB.add(jsonObjectB1);
  • JSONObject jsonObjectB2 = new JSONObject();
  • jsonObjectB2.put('a', 3);
  • jsonObjectB2.put('b', 4);
  • jSONArrayB.add(jsonObjectB2);
  • System.out.println('jSONArrayB:' + jSONArrayB);
  • JSONArray jSONArrayC = new JSONArray();
  • jSONArrayC.fluentAddAll(jSONArrayA.to;
  • System.out.println('jSONArrayC:' + jSONArrayC);
  • JSONArray jSONArrayD = new JSONArray();
  • jSONArrayD.fluentAddAll(jSONArrayA).fluentAddAll(jSONArrayB);
  • System.out.println('jSONArrayD:' + jSONArrayD);
  • JSONArray jSONArrayE = new JSONArray();
  • jSONArrayE.add(jSONArrayA);
  • jSONArrayE.add(jSONArrayB);
  • System.out.println('jSONArrayE:' + jSONArrayE);
  • JSONArray jSONArrayH = new JSONArray();
  • jSONArrayH.addAll(jSONArrayA);
  • jSONArrayH.addAll(jSONArrayB);
  • System.out.println('jSONArrayH:' + jSONArrayH);
  • JSONArray jSONArrayF = new JSONArray();
  • jSONArrayF.fluentAddAll(jSONArrayA);
  • jSONArrayF.fluentAddAll(jSONArrayB);
  • System.out.println('jSONArrayF:' + jSONArrayF);
  • JSONArray jSONArrayG = new JSONArray();
  • jSONArrayG.fluentAdd(jSONArrayA);
  • jSONArrayG.fluentAdd(jSONArrayB);
  • System.out.println('jSONArrayG:' + jSONArrayG);
  • }

  • 返回结果:
    Java代码
  1. jSONArrayA:[{'a':1,'b':2},{'a':3,'b':4}]
  2. jSONArrayB:[{'a':3,'b':4},{'a':3,'b':4}]
  3. jSONArrayC:[{'a':1,'b':2},{'a':3,'b':4},{'a':3,'b':4},{'a':3,'b':4}]
  4. jSONArrayD:[{'a':1,'b':2},{'a':3,'b':4},{'a':3,'b':4},{'a':3,'b':4}]
  5. jSONArrayE:[[{'a':1,'b':2},{'a':3,'b':4}],[{'a':3,'b':4},{'a':3,'b':4}]]
  6. jSONArrayH:[{'a':1,'b':2},{'a':3,'b':4},{'a':3,'b':4},{'a':3,'b':4}]
  7. jSONArrayF:[{'a':1,'b':2},{'a':3,'b':4},{'a':3,'b':4},{'a':3,'b':4}]
  8. jSONArrayG:[[{'a':1,'b':2},{'a':3,'b':4}],[{'a':3,'b':4},{'a':3,'b':4}]]

从测试返回结果中也可以看出JSONArray中的addaddAll方法的区别,add会把另一个JSONArray当做为单独的对象,而addAll则是把另外一个JSONArray和前面一个JSONArraylist内容的合并。
大家在实际使用过程中需要注意区分场景。

我的更多文章

下载客户端阅读体验更佳

APP专享