本文目录一览:
- 1、java怎么把数据转成json 数组
- 2、求java合并json数据的代码
- 3、java的JSONArray怎么用?比如有一个JSONArray是 [{..."a":123, "
- 4、java的JSONArray如何使用?
- 5、java解析json数据成数组
- 6、java怎么将json对象转换成json数组
java怎么把数据转成json 数组
有两种方法实现: (1)直接转换: 创建JSONArray对象、JSONObject对象,通过put方法将其数据以键值对的形式填充,如例: //假如有一个Java实体类Person,包括以下属性:phone、sex、married、address。 ArrayList persons = new ArrayLis
求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中即可。
运行结果:
java的JSONArray怎么用?比如有一个JSONArray是 [{..."a":123, "
从json数组中得到相应java数组,如果要获取java数组中的元素,只需要遍历该数组。
数组内容如下:
/**
* 从json数组中得到相应java数组
* JSONArray下的toArray()方法的使用
* @param str
* @return
*/
public static Object[] getJsonToArray(String str) { JSONArray jsonArray = JSONArray.fromObject(str);
return jsonArray.toArray(); }
3.从json数组中得到java数组,可以对该数组进行转化,如将JSONArray转化为String型、Long型、Double型、Integer型、Date型等等。
4.分别采用jsonArray下的getString(index)、getLong(index)、getDouble(index)、getInt(index)等方法。
5.同样,如果要获取java数组中的元素,只需要遍历该数组。
java的JSONArray如何使用?
从json数组中得到相应java数组,如果要获取java数组中的元素,只需要遍历该数组。
数组内容如下:
/**
* 从json数组中得到相应java数组
* JSONArray下的toArray()方法的使用
* @param str
* @return
*/
public static Object[] getJsonToArray(String str) { JSONArray jsonArray = JSONArray.fromObject(str);
return jsonArray.toArray(); }
3.从json数组中得到java数组,可以对该数组进行转化,如将JSONArray转化为String型、Long型、Double型、Integer型、Date型等等。
4.分别采用jsonArray下的getString(index)、getLong(index)、getDouble(index)、getInt(index)等方法。
5.同样,如果要获取java数组中的元素,只需要遍历该数组。
java解析json数据成数组
String arr = "[{\"a\":\"111\",\"b\":\"222\",\"c\":\"333\"},{\"a\":\"1000\",\"b\":\"2000\",\"c\":\"000\"},{\"a\":\"999\",\"b\":\"300\",\"c\":\"700\"}]";
ListString aList = new ArrayListString();
ListString bList = new ArrayListString();
ListString cList = new ArrayListString();
JSONArray jsa = JSONArray.fromObject(arr);
for(Object obj : jsa){
JSONObject jso = JSONObject.fromObject(obj);
aList.add( jso.get("a").toString() );
bList.add( jso.get("b").toString() );
cList.add( jso.get("c").toString() );
}
for(int i=0;iaList.size();i++){
if(i==0)
System.out.print("a:");
System.out.print(aList.get(i)+" ");
}
for(int i=0;ibList.size();i++){
if(i==0)
System.out.print("b:");
System.out.print(bList.get(i)+" ");
}
for(int i=0;icList.size();i++){
if(i==0)
System.out.print("c:");
System.out.print(cList.get(i)+" ");
}
java怎么将json对象转换成json数组
1、使用原生的解析:
String json = "...";
JSONArray array= new JSONArray(json);
//遍历数组里的值,得到每个独立的对象,然后获取对应的值设置到声明好的对象中,最终创建对象完成后添加到集合中,如我自己代码里的片段:
for (int j = 0; j array.length(); j++) {
obj = array.getJSONObject(j);
Data data = new Data();
data.setThumbnail(obj.getString("thumbnail"));
data.setTitle(obj.getString("title"));
data.setUrl(obj.getString("url"));
mDataList.add(data);
}
2、使用第三方包如Gson,但是这个你得保证你的JSON字符串个z