String的json串转list对象集合
List<HMDeduct> hmDeducts = JSONObject.parseArray(content,HMDeduct.class);
String的json串转对象
JSONObject jsStr = JSONObject.parseObject(content);
Object object = JSONObject.toJavaObject(jsStr,Object.class);
String类型转JSON
String str ="[{
“flag”:1,
“mid”:“4932A203837FB873”,
“time”:“2020-04-10”
},
{
“flag”:1,
“mid”:“4932BDC3837FB87F”,
“time”:“2020-04-10”
}]";
如果String类型的json传中只是数组格式的数据,那这时候可以通过JSONArray.fromObject(str ) 进行转成 JSONArray类型的数据 ;
String str1 = “status”:“0”,
“balance”:18400,
“list”:[
{
“flag”:1,
“mid”:“4932BDC3837FB87F”,
“time”:“2020-04-10”
}
但是如果是这个String类型中的数据还包含了其他的值 这个时候需要先把String 类型的字符串通过 JSONObject.fromObjec(str1)转成json类型的数据,然后在通过JSONArray.fromObject(用 JSONObject.getString(“list”)) 转成JSONArray类型的数据
然后遍历过程中需要如果需要取特定的值如:flag 这时候我们需要把 list.getJSONObject(i) 转换成JSONObject类型 在通过get取对应的值
String str ="[{
"flag":1,
"mid":"4932A203837FB873",
"time":"2020-04-10"
},
{
"flag":1,
"mid":"4932BDC3837FB87F",
"time":"2020-04-10"
}]";
JSONObject jsonObject = JSONObject.fromObject(str );
JSONArray list = JSONArray.fromObject(jsonObject.getString("list"));
for(int i=0;i<list.size();i++){
JSONObject job = list.getJSONObject(i);
System.out.println("编码为:"+job.get("flag")+" 时间为:"+job.get("time"));
}