首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

json怎么转换为java类型

2012-12-16 
json如何转换为java类型假如我现在从js中传到java中的一个参数形式为:[{id:10,name:yang},{id:11,

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……


[其他解释]
JsonObject
apache提供了工具包,直接可以用
[其他解释]
利用apache中的jsonlib包,主要利用JSONArray  JSONObject 
[其他解释]
http://www.cnblogs.com/mailingfeng/archive/2012/01/18/2325707.html
[其他解释]
Gson也不错

[其他解释]
肯定是先知道规则,才会去解析。

转换成一对一的关系就行了,具体key是什么就看规则了。
[其他解释]
引用:
http://www.cnblogs.com/moonvan/archive/2011/11/09/2242403.html

谢谢,你这个方法只是针对特定的id和name,但是,我现在要的结果是,id和name这个名字是不一定是这个名字的。如果用你推荐的方法,那每次还有判断前台传来的是什么(如果10个用户,传来的参数都是不一样的,那要定义10个相似的方法),这似乎不可取吧。
[其他解释]
而且我的参数,不一定就是这有id和name两个属性的,属性的个数也是不定的。

热点排行