2012-02-13 24 views
9

JSON配列の配列の長さを取得できません。私がlength()を使用するとき。それが動作していない方法で、これはソースコードJSON配列の長さを取得

try { 

     JSONObject myjson = JSONObject.fromObject(practiceInfoByUsername); 

     //JSONArray nameArray = myjson.names(); 
     final JSONArray jar = myjson.getJSONArray("_types"); 
     for(int i=0; i<jar.length(); i++) 
     { 
      String p = jar.getString(i); 
      Log.i("p",p); 


     } 

    } catch (JSONException e) { 
      e.printStackTrace(); 
    } 
+0

コンパイルしますか?ネットビーンの強調表示で問題になることがあります。 –

答えて

4

あるNetbeansの

に赤い下線として表示されます)(サイズを試してみましたか? 何かのように:

jar.size(); 

希望に役立ちます。ソースコード

0

は、あなたがラインを持って確認してください。あなたの質問から、私はそのようなlength()使用:

JSONArray jar = myjson.getJSONArray("_types"); 
System.out.println(jar.length()); 

をし、期待どおりに働きました。一方でjar.size();(他の答えで提案されているように)は私のために働いていません。

今後のユーザーの検索で(私のように)、JSONArrayのサイズを取得する方法は、length()でも問題ありません。

3

の上部に

import org.json.JSONArray; 

私がここに来たとJSONArray内の要素の数を取得する方法を探して:

+0

'.length()'は 'JSONObject'でも動作します。 –

22

注:(インポートする)org.json.simple.JSONArrayを使用している場合は、JSONArray.size()を使用して必要なデータを取得する必要があります。しかしorg.json.JSONArrayを使用している場合はJSONArray.length()を使用してください。

0

JSONArray.length()は、配列に含まれるJSONObjectの要素数を返します。配列自体のサイズではありません。

0

以下のスニペットは、私のために正常に動作します(私は使用されるサイズ())が使用サイズ()を使用することが間違っている場合は親切に得るために、私のバージョンでは機能を

0

に助言

String itemId; 
      for (int i = 0; i < itemList.size(); i++) { 
      JSONObject itemObj = (JSONObject)itemList.get(i); 
      itemId=(String) itemObj.get("ItemId"); 
      System.out.println(itemId); 
      } 

長さまたはサイズがCount()

あなたが歓迎しています、それが誰かを助けることを願っています。

関連する問題