当前位置: 代码迷 >> J2SE >> 怎么把json树字符串转换为java list对象
  详细解决方案

怎么把json树字符串转换为java list对象

热度:198   发布时间:2016-04-24 01:43:12.0
如何把json树字符串转换为java list对象?
各位好,
  我现在有一个json 树的字符串,想把它转换为list<AClass>对象,请帮一下。
谢谢!

 public void test8(){
String s="[{\"id\":\"329\",\"txt\":\"IT\",\"items\":[{\"id\":\"337\",\"txt\":\"机构\"},{\"id\":\"338\",\"txt\":\"机构2\",\"items\":[{id:\"887\",txt:\"内部\"},{id:\"888\",txt:\"内部2\"}]}]},{\"id\":\"345\",\"txt\":\"IT2\"}]";
  List<AClass> rs=test6(s);
  }

请问这个test6该怎么写,执行完后rs 中存放都是AClass对象。这个String s只是一个示例,实际它会是一个不定层数的数。

AClass 类是这样的形式:

public class AClass{
private String id;
private String txt;
private List items;
private String iscat;

public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getTxt() {
return txt;
}
public void setTxt(String txt) {
this.txt = txt;
}
 


public List getItems() {
return items;
}
public void setItems(List items) {
this.items = items;
}
public String getIscat() {
return iscat;
}
public void setIscat(String iscat) {
this.iscat = iscat;
}



}



------解决方案--------------------
www.json.org
看看
------解决方案--------------------
Java code
import java.util.Iterator;import org.json.JSONArray;import org.json.JSONException;public class Test{ public static void main(String[] args) throws JSONException{        String s="[{\"id\":\"329\",\"txt\":\"IT\",\"items\":[{\"id\":\"337\",\"txt\":\"机构\"}," +                "{\"id\":\"338\",\"txt\":\"机构2\",\"items\":[{id:\"887\",txt:\"内部\"}," +                "{id:\"888\",txt:\"内部2\"}]}]},{\"id\":\"345\",\"txt\":\"IT2\"}]";                 jsonToList(s);    }    public static void jsonToList(String str) throws JSONException{        JSONArray ja=new JSONArray(str);        for(int i=0;i<ja.length();i++){            Iterator<?> items=ja.getJSONObject(i).keys();            while(items.hasNext()){                String keyName=items.next().toString();                System.out.println(keyName+": "+ja.getJSONObject(i).getString(keyName));               if("items".equals(keyName))                   jsonToList(ja.getJSONObject(i).getString(keyName));            }        }    }}
------解决方案--------------------
public String test3(String arg0) {
List<ATreeClass> objt= JSonUtil.jsonStrToList(arg0,ATreeClass.class);
List<ATreeClass> rslist=new ArrayList<ATreeClass>();
actJson(objt,rslist);
return "";
}

private void actJson(List<ATreeClass> items,List<ATreeClass> rslist){
for(ATreeClass o:items){
  相关解决方案