如何使用gson将此json字符串转换为普通的java arraylist [英] How to convert this json String to normal java arraylist using gson

查看:84
本文介绍了如何使用gson将此json字符串转换为普通的java arraylist的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试将以下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.(CycleDetect‌ionStrategy.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.(CycleDetect‌​ionStrategy.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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆