org.json.jsonObjectコンストラクター有効なJSON文字列のように見えるものを受け入れない
-
01-10-2019 - |
質問
私は持っています string
で Android
私がaに変換しようとしているアプリ JSONObject
. 。 string
このように見えます(ここに入力したダミー値の代わりに、より長く、実際の値を除く):
[[{"1":"a"}],[{"1a":"1a","1b":"1b"},{"2a":"2a","2b":"2b"}]]
私はこれを正確に入力しました string
2つのオンラインに JSON validator
S、そして両方ともそれが有効であることを確認します JSON data
. 。だから私はそれを想定します JSONObject
コンストラクターはこの文字列を受け入れ、それをに変換することができます JSONObject
. 。しかし、私が試すとき:
json = new JSONObject(result);
ここで、「結果」は上記の文字列を含む文字列変数ですが、次の例外が得られます。
JSONException: A JSONObject text must begin with '{' at character 1 of [[{"1":"a"}],[{"1a":"1a","1b":"1b"},{"2a":"2a","2b":"2b"}]]
何が起きてる?それは JSONObject
パーサーが壊れていますか?
解決
JsonObjectを作成しようとしていますが、実際にそれを与えているのはJSonArrayです。代わりにjsonarrayを作成してみましたか?
または、Arrayをオブジェクトにラップして、JsonObjectを作成できるようにすることができます。
所属していません StackOverflow