首页 > 编程知识 正文

json代码使用(json命令)

时间:2023-12-05 19:35:23 阅读:312392 作者:QUBM

本文目录一览:

  • 1、json的好处及用法?
  • 2、json的简单介绍及基本使用
  • 3、求java合并json数据的代码

json的好处及用法?

1、方便于传输,较少冗余的字符。当然直接传二进制是最好的,但面临难解析的问题。亦可以是xml、纯字符串的方式,但json有其独到的好处。google有个自己的协议,叫protobuf,有兴趣可了解一下。

2、方便转换。有很多的json api提供了json字符串转成对象、对象转换成json串的方法。

3、易于阅读。json代码的良好结构,可以很直观地了解存的是什么内容。

json的简单介绍及基本使用

json是对象由键值对组成  jo={key:value,"t":"haha"}这是一个json对象

使用也很简单   json对象.key  可以取到value值如jo.t便可以取到对应的值

求java合并json数据的代码

我想了一下,但是得有一个前提,就是第一个json数组的size必须和第二个json数组的size相同,并且一一对应,否则将造成数组溢出。

如果是基于上面这个前提,那么实现的方法就简单了。

操作json对象,其实标准的方法是将实体类转换成json后再操作,我这里的话为了便捷直接使用谷歌的Gson来创建JsonObject了,其他的json依赖还有阿里巴巴的FastJson等等,看你平时用什么习惯。

引入Gson依赖:

dependency

groupIdcom.google.code.gson/groupId

artifactIdgson/artifactId

version2.8.0/version

/dependency

实现代码:

public class Main {

public static void main(String[] args) {

JsonArray jsonArray1 = new JsonArray();

JsonObject json11 = new JsonObject();

json11.addProperty("数据1", "0000");

json11.addProperty("数据2", "1111");

JsonObject json12 = new JsonObject();

json12.addProperty("数据1", "0000");

json12.addProperty("数据2", "1111");

JsonObject json13 = new JsonObject();

json13.addProperty("数据1", "0000");

json13.addProperty("数据2", "1111");

jsonArray1.add(json11);

jsonArray1.add(json12);

jsonArray1.add(json13);

System.out.println(jsonArray1);

JsonArray jsonArray2 = new JsonArray();

JsonObject json21 = new JsonObject();

json21.addProperty("数据3", "6666");

JsonObject json22 = new JsonObject();

json22.addProperty("数据3", "6666");

JsonObject json23 = new JsonObject();

json23.addProperty("数据3", "6666");

jsonArray2.add(json21);

jsonArray2.add(json22);

jsonArray2.add(json23);

System.out.println(jsonArray2);

//遍历json数组,按位取出对象

for (int i = 0; i jsonArray1.size(); i++) {

JsonObject json1 = jsonArray1.get(i).getAsJsonObject();

JsonObject json3 = jsonArray2.get(i).getAsJsonObject();

//遍历数据3内容,通过Entry获取数据3的key和value,并合并到数据1中

for (Map.EntryString, JsonElement item : json3.entrySet()) {

json1.addProperty(item.getKey(), item.getValue().getAsString());

}

}

System.out.println(jsonArray1);

}

}

整体思路为:遍历两个json数组,按位进行合并操作。合并时,遍历数据3的jsonObject,获取其key和value,并将其合并到数据1中即可。

运行结果:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。