如何使用gson将此json字符串转换为普通的java arraylist [英] How to convert this json String to normal java arraylist using gson
问题描述
我尝试将以下JSON字符串转换为Array并收到以下错误:
I tried to convert following JSON string into Array and got following error:
线程"AWT-EventQueue-0"中的异常java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory位于 net.sf.json.AbstractJSON.(AbstractJSON.java:54)在 net.sf.json.util.CycleDetectionStrategy.(CycleDetectionStrategy.java:36) 在net.sf.json.JsonConfig.(JsonConfig.java:65)在 net.sf.json.JSONSerializer.toJSON(JSONSerializer.java:84)
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory at net.sf.json.AbstractJSON.(AbstractJSON.java:54) at net.sf.json.util.CycleDetectionStrategy.(CycleDetectionStrategy.java:36) at net.sf.json.JsonConfig.(JsonConfig.java:65) at net.sf.json.JSONSerializer.toJSON(JSONSerializer.java:84)
JSON:
[
{
"file_name":"1.xml",
"file_ext":"application/octet-stream",
"sr_no":"0.1",
"status":"Checked ",
"rev":"1",
"locking":"0"
},
{
"file_name":"2.xml",
"file_ext":"json/octet-stream",
"sr_no":"0.2",
"status":"Not Checked ",
"rev":"2",
"locking":"1"
},
{
"file_name":"3.xml",
"file_ext":"application/json-stream",
"sr_no":"0.3",
"status":"Checked ",
"rev":"1",
"locking":"3"
},
{
"file_name":"4.xml",
"file_ext":"application/octet-stream",
"sr_no":"0.4",
"status":"Checked ",
"rev":"0.4",
"locking":"4"
}
]
代码:
JSONArray nameArray = (JSONArray) JSONSerializer.toJSON(output);
System.out.println(nameArray.size());
for(Object js : nameArray)
{
JSONObject json = (JSONObject) js;
System.out.println("File_Name :" +json.get("file_name"));
}
推荐答案
您可以创建具有以下类型的实体的Java类:字符串类型为file_name, file_ext, sr_no, status, rev, locking
.
You can create a java class with entities are: file_name, file_ext, sr_no, status, rev, locking
in string type.
public class TestJson {
private String file_name, file_ext, sr_no, status, rev, locking;
//get & set
}
}
然后您致电:
public static void main(String[] args) {
String json = your json string;
TestJson[] respone = new Gson().fromJson(json, TestJson[].class);
for (TestJson s : respone) {
System.out.println("File name: " + s.getFile_name());
}
}
因此,您有了所需的对象列表.
So, you have a list of object you want.
这篇关于如何使用gson将此json字符串转换为普通的java arraylist的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!