2013-04-28 136 views
0

我已经从URL输出如下:爪哇JSON阵列

[ “HANK-TPSSL4应用内”, “acgeneral应用内”, “acgeneral幅材”, “achalf应用内”, “acproduct应用内” ]

我的Java代码,从这个数组获取每个对象:

BufferedReader in = new BufferedReader(new InputStreamReader((HttpURLConnection) alertHandleUrl.openConnection().getInputStream())); 

     String output;  
     while ((output = in.readLine()) != null) { 

      JSONArray array = new JSONArray(output); 

       for (int i =0; i < array.length(); i++) 
        JSONObject row = array.getJSONObject(i); 
        System.out.println(row); 
       } 

我正的错误是在线程

异常 “主要” org.json.JSONException:JSONArray [0]不是JSONObject。 在org.json.JSONArray.getJSONObject(JSONArray.java:330) 在com.ebay.sherlock.calc.AutoConfigFunc.main(AutoConfigFunc.java:70)

有人能帮助我吗?在此先感谢

+0

你输出应该看起来像{”myarray“:[”abc“,”def“]}然后新的JSONObject(输出)。 getJSONArray(“myarray”)....它应该这样做。或者试着让你的输出看起来像{[“abc”,“def”]}和新的JSONArray(输出) – 2013-04-28 03:28:08

+0

嗨,由于我的输出格式为[“abc”,“def”]格式,我从这个JSON数组中获取每个对象?谢谢.. – user2325703 2013-04-28 03:48:30

回答

0

是的,此输出是一个简单的字符串数组而不是JSON对象。你需要修剪前后括号,然后用逗号分割字符串,“

+0

嗨,我的输出已经被逗号分隔“,”。这是我的输出:[“HANK-TPSSL4-app”,“acgeneral-app”,“acgeneral-web”,“achalf-app”,“acproduct-app”] – user2325703 2013-04-28 03:45:49

+0

@ user2325703是的,但它是字符串。你需要使用split()方法拆分它并将其转换为String []数组 – gurvinder372 2013-04-28 03:47:23

+0

感谢它工作:) – user2325703 2013-04-28 05:45:55