求这个json串用gson怎么解析,嵌套多层集合

jack_jones 发布于 2013/12/26 10:23
阅读 7K+
收藏 1
[
    {
        "id": "761b91da-da83-4fc9-adfd-f58230c84891",
        "service": [
            {
                "name": "Lb",
                "capability": [
                    {
                        "name": "SupportedProtocols",
                        "value": "tcp, udp",
                        "canchooseservicecapability": false
                    },
                    {
                        "name": "SupportedStickinessMethods",
                        "value": [
                            {
                                "methodname": "LbCookie",
                                "paramlist": [
                                    {
                                        "paramname": "cookie-name",
                                        "required": false,
                                        "isflag": false,
                                        "description": " "
                                    },
                                    {
                                        "paramname": "mode",
                                        "required": false,
                                        "isflag": false,
                                        "description": " "
                                    }
                                ],
                                "description": "This is loadbalancer cookie based stickiness method."
                            }
                        ],
                        "canchooseservicecapability": false
                    },
                    {
                        "name": "SupportedLBIsolation",
                        "value": "dedicated",
                        "canchooseservicecapability": false
                    }
                ]
            }
        ],
        "displaynetwork": true
    },
    {
        "id": "a77a134a-7221-450b-8530-68ad0df9e30b",
        "service": [],
        "displaynetwork": true
    }

]


用Gson怎么解析?

加载中
0
红薯
红薯

这种层次很深的 JSON 不适合 Mapping 的思路来解析

试试 http://www.oschina.net/p/fastjson

0
废柴大叔
废柴大叔

为什么不直接用 json-lib呢 再难的都能解析 无非就是 json对象 json数组的嵌套。

可以参见java对json的解析demo http://www.bejson.com/demo2.php#Java

0
赤月少

同求啊!
有种想法是,对"value": "tcp, udp"这样的结点加个"value": {"v":"tcp, udp"},然后定义一个ArrayList<Entity> value;这样接着将Entity类定义里包含value下的所有结点属性,这样遇上"value": {"v":"tcp, udp"}这样的结点只有v属性有值,其它的情况,v结点无值。但这样改了接口,不太对症啊。

0
苗哥
苗哥
看出来了,这個问题比较麻烦的地方在于,value 节点的值有时候是字符串,有时候是壹個对象,如果把这個地方处理好了,其它的地方就可以比较容易的转化了。比较好奇楼主最终是怎么解决这個问题的。
0
飞起航
飞起航

net.sf.json.JSONArray.JSONArray.fromObject(String str)

返回值等同于List<Map>

返回顶部
顶部