2015-03-13 101 views
-2

我有以下JSON文本,并希望得到值“厌恶”和“不喜欢”。如何解析Java中的JSON数组?

{ 
    "noun": { 
    "syn": [ 
     "hatred", 
     "emotion" 
    ], 
    "ant": [ 
     "love" 
    ] 
    }, 
    "verb": { 
    "syn": [ 
     "detest", 
     "dislike" 
    ], 
    "ant": [ 
     "love" 
    ] 
    } 
} 

我试着使用org.json库具有以下分析它:

JSONArray obj = new JSONObject(String); 
JSONArray arr = obj.getJSONArray("syn"); 

但我似乎无法访问数组这种方式。 任何帮助,不胜感激。

+2

显示您的实际代码,重现问题并解释它是如何特定它不适合你。在Java中解析JSON是一个在许多地方反复广泛报道的主题,我会非常强烈地建议你做一个粗略的搜索并查看一些教程。 – tnw 2015-03-13 18:37:22

+0

请阅读一些文档。 – berserk 2015-03-13 18:37:32

回答

1

以下内容与JSON.simple库有关。


你需要一个JSONParser实例从您String对象获取JSONObject值。

JSONObject data; 
try { 
    JSONParser helper = new JSONParser(); 
    data = (JSONObject)helper.parse(String); 
} catch (ParseException parse) { 
    // Invalid syntax 
    return; 
} 
// Note that these may throw several exceptions 
JSONObject node = (JSONObject)data.get("verb"); 
JSONArray array = (JSONArray)node.get("syn");