将json字符串转换为列表或映射 [英] Convert json string to list or map
本文介绍了将json字符串转换为列表或映射的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
[{projectFileId:8547,
projectId:8235,
fileName:1,
application:Excel,
复杂度:NORMAL,
pageCount:2,
targetLanguages:ar-SA,
Id:8547
},
{projectFileId:8450 ,
projectId:8235,
fileName:Capacity Calculator.pptx,
application:Powerpoint,
complexity:NORMAL ,
pageCount:100,
targetLanguages:ar-LB,ar-SA,
Id:8450
}
$ b 我想将此字符串转换为数组列表或映射,以便可以迭代通过它并获取字段值。 您可以使用 rel =nofollow> GSON
库。只需使用 Gson#fromJson()
方法将JSON字符串转换为Java对象。
示例代码:
BufferedReader reader = new BufferedReader(new FileReader(new File( json.txt)));
Gson gson = new Gson();
Type type = new TypeToken< ArrayList< Map< String,String>>>(){} .getType();
ArrayList< Map< String,String>> data = gson.fromJson(reader,type);
//从对象转换回JSON字符串
System.out.println(new GsonBuilder()。setPrettyPrinting()。create()。toJson(data));
你可以创建一个POJO类来直接转换它到POJO类对象的列表,以便于访问它。
示例代码:
class PojectDetail {
private String projectFileId;
private String projectId;
私人字符串文件名;
私有字符串应用程序;
私有字符串复杂度;
私人字符串pageCount;
private String targetLanguages;
私人字符串ID;
// getter& setter
}
Gson gson = new Gson();
Type type = new TypeToken< ArrayList< PojectDetail>>(){} .getType();
ArrayList< PojectDetail> data = gson.fromJson(reader,type);
I get a json string in server side as follow
[ {"projectFileId":"8547",
"projectId":"8235",
"fileName":"1",
"application":"Excel",
"complexity":"NORMAL",
"pageCount":"2",
"targetLanguages":" ar-SA",
"Id":"8547"
},
{"projectFileId":"8450",
"projectId":"8235",
"fileName":"Capacity Calculator.pptx",
"application":"Powerpoint",
"complexity":"NORMAL",
"pageCount":"100",
"targetLanguages":" ar-LB, ar-SA",
"Id":"8450"
}
]
I want to convert this string into an arraylist or map whichever possible so that I can iterate over it and get the field values.
解决方案 You can use GSON
library. Simply use Gson#fromJson()
method to convert JSON string into Java Object.
sample code:
BufferedReader reader = new BufferedReader(new FileReader(new File("json.txt")));
Gson gson = new Gson();
Type type = new TypeToken<ArrayList<Map<String, String>>>() {}.getType();
ArrayList<Map<String, String>> data = gson.fromJson(reader, type);
// convert back to JSON string from object
System.out.println(new GsonBuilder().setPrettyPrinting().create().toJson(data));
You can create a POJO class to convert it directly into List of POJO clas object to access it easily.
sample code:
class PojectDetail{
private String projectFileId;
private String projectId;
private String fileName;
private String application;
private String complexity;
private String pageCount;
private String targetLanguages;
private String Id;
// getter & setter
}
Gson gson = new Gson();
Type type = new TypeToken<ArrayList<PojectDetail>>() {}.getType();
ArrayList<PojectDetail> data = gson.fromJson(reader, type);
这篇关于将json字符串转换为列表或映射的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文