日期:2014-05-17  浏览次数:20652 次

json如何转换为java类型
   假如我现在从js中传到java中的一个参数形式为:
[{"id":10,"name":"yang"},{"id":11,"name":"chao"}]
   我在java中得到这个数组,但是如何得到各个id和name的值呢。而且,我这个id和name并不是固定的,有可能是别的名字,比如myId,myName。
    请高手指教!谢谢。
------最佳解决方案--------------------
String json = "{\"id\":10,\"name\":\"yang\",\"id\":11,\"name\":\"chao\",\"id\":12,\"name\":\"jiang\"}";
JSONObject object = JSONObject.fromObject(json);
Map<String, Object> map = new HashMap<String, Object>();
map = object;
for(String key : map.keySet()){
System.out.println("key="+key+"  value="+map.get(key));
}

打印结果:
key=id  value=[10,11,12]
key=name  value=["yang","chao","jiang"]
希望能帮到你
------其他解决方案--------------------
因为你这个不是标准的json格式,我觉得
1、把[{"id":10,"name":"yang"},{"id":11,"name":"chao"}]先转化为标准json格式的list;
2、再对list进行遍历处理;

String object = "[{\"id\":10,\"name\":\"yang\"},{\"id\":11,\"name\":\"chao\"}]";
        List<String> objects  = new ArrayList<String>() ;
        while(object.indexOf("}") > 0){
            String str =  object.substring(object.lastIndexOf("{"), object.lastIndexOf("}")+1);
            object = object.substring(0, object.lastIndexOf("{"));
            objects.add(str);
        }
        List<Map> listResult = new ArrayList<Map>();
        for(String str: objects){
            JSONObject json = JSONObject.fromObject(str);
            listResult.add(json);
        }
        for(Map m: listResult)
            System.out.println(m.toString());



处理后的结果是一个List<Map>
打印出来的结果是:
{"id":11,"name":"chao"}
{"id":10,"name":"yang"}

------其他解决方案--------------------
json转成 Map对象  可以不。 这个比较简单
------其他解决方案--------------------
可以用json.jar包解析json格式的内容。
要求字段不确定可以解析成object对象,在通过getXXX()方法取数据。
------其他解决方案--------------------
json.org去看看吧
------其他解决方案--------------------
http://www.cnblogs.com/moonvan/archive/2011/11/09/2242403.html
------其他解决方案--------------------
解析成 List<Map<String,Object>> 
------其他解决方案--------------------
引用:
Java code?



1234567

String json = "{\"id\":10,\"name\":\"yang\",\"id\":11,\"name\":\"chao\",\"id\":12,\"name\":\"jiang\"}";         JSONObject object = JSONObject.fromObject(json);         Ma……