2012-12-23 47 views
5

アセットフォルダからJSONファイルを読み込もうとしています。しかし、次の例外が発生する
org.json.JSONException: Expected literal value at character 550
私はたくさんのものを検索しましたが、相対的なものは何も見つかりませんでした。ここに私のJSONファイルがあります。org.json.JSONException:文字550のリテラル値が予想される

550のJSONオブジェクトが"names": ["Santosh","Sandip","Arvind"],であることがわかりました。私はそれを解決しようとしていますが、私のコードで何が起こるかわからない。
ここに私のコードです。

私もコードをデバッグしますが、制御がJSONObject jsonObject = new JSONObject(text);になると例外をスローして最初のcatchブロックに入ります。
この問題を解決するための参考資料またはヒントを教えてください。
何かお手伝いしました。

答えて

13

JSONが無効です。
あなたのJSONは(JSLintのように)それを使用する前に、JSONのバリデータを使用してみてください。この

{ 
    "resultCount": 3, 
    "SearchedTerm": "Wada Pav", 
    "results": [ 
     { 
      "locationname": "Mahableshwar Hotel", 
      "locationid": "12345", 
      "locationaddress": "baner, Pune", 
      "dishrating": "4", 
      "dishname": "Wada Pav", 
      "dishid": "234", 
      "dishcategory": "Snacks", 
      "dishnotes": "Spicy Wada Pav", 
      "dishpreviewurl": "http://xxx.yyy.zzz/mahableshwar/1.jpg", 
      "dishtotalvotes": "9999", 
      "friendslistvoted": { 
       "friendscount": "3", 
       "names": [ 
        "Santosh", 
        "Sandip", 
        "Arvind" 
       ] 
      }, 
      "dishimageurl": "http://xxx.yyy.zzz/mahableshwar/2.jpg", 
      "mylastrating": "4" 
     } 
    ] 
} 

のようになります。

6

私は標準のJSON形式を取得するには、以下を使用しています。 これは良いです。

public static String convertStandardJSONString(String data_json) { 
     data_json = data_json.replaceAll("\\\\r\\\\n", ""); 
     data_json = data_json.replace("\"{", "{"); 
     data_json = data_json.replace("}\",", "},"); 
     data_json = data_json.replace("}\"", "}"); 
     return data_json; 
    } 
+0

優れています。それはうまくいきましたが、私はdrupal_json_encodeを使用しているので、なぜ私はこれが最初に必要なのかわかりません! drupalは標準ではありませんか? –

+0

私の喜びです..! drupalについての考えはありません.. –

関連する問題