2015-07-10 91 views
0

我的JSON数据看起来是这样的:获取JSON对象值的Java

[ 
    "{\"pid\":\"1\",\"title\":\"New CEO announced\",\"titleirish\":\"CEO nua\",\"content\":\"Bernard Byrne has been announced as the new CEO. Rejoice!\",\"contentirish\":\"Is Bernard Byrne an CEO. B\\\\u00edg\\\\u00ed s\\\\u00e1sta!\",\"imageurl\":\"http:\\\\\\/\\\\\\/scoiluiriada.ie\\\\\\/wp-content\\\\\\/uploads\\\\\\/2014\\\\\\/02\\\\\\/IMG_1781-150x112.jpg\",\"category\":\"News\",\"publishedby\":\"Andy\",\"modified\":\"2015-07-01 16:21:13\",\"buildings\":\"Bankcentre,Hume House,Time House\"}", 
    "{\"pid\":\"2\",\"title\":\"New CTO pronounced\",\"titleirish\":\"CEO nua\",\"content\":\"Bernard Byrne has been announced as the new CEO. Rejoice!\",\"contentirish\":\"Is Bernard Byrne an CEO. B\\\\u00edg\\\\u00ed s\\\\u00e1sta!\",\"imageurl\":\"http:\\\\\\/\\\\\\/scoiluiriada.ie\\\\\\/wp-content\\\\\\/uploads\\\\\\/2014\\\\\\/02\\\\\\/IMG_1781-150x112.jpg\",\"category\":\"News\",\"publishedby\":\"Andy\",\"modified\":\"2015-07-02 10:09:10\",\"buildings\":\"Hume House\"}", 
    .... 

到目前为止,我有以下代码:

JSONParser parser = new JSONParser(); 
    try { 
     Object obj = parser.parse(allData); // allData = JSON String above 
     JSONArray nitems = (JSONArray)obj; 

这给了我所有对象的数组我想解析。 (它完美地工作)

现在,循环这个数组,我想获得对象成员值。 事情是这样的:

nitems.get(0).getValueOf("title") // should return "New CEO announced" 
nitems.get(0).getValueOf("titleirish") // "CEO Nua"  etc. 

这显然是行不通的,什么样的代码做我改用。

感谢您提前提供任何答案。

+0

你得到什么错误/输出而不是预期的? – ceekay

+0

getClass不接受String参数。我只是想知道要用什么来代替。我已经尝试从上述数组中创建新对象,将其转换为数组,并从中获取元素,但是我无法将其转换为数组。 –

+0

你使用'org.json库吗?' – ceekay

回答

1

通过一些评论的帮助修复。这里是解决方案:

JSONObject obj2 = (JSONObject)new JSONParser().parse(nitems.get(i).toString()); 
System.out.println(obj2.get("title").toString());