2

に変換しようとしてstringいるアプリがあります。見た目は次のようになります(長く、ここに入力したダミー値の代わりに実際の値を使用する場合を除く)。AndroidJSONObjectstring

[[{"1":"a"}],[{"1a":"1a","1b":"1b"},{"2a":"2a","2b":"2b"}]]

string私はこれを2つのオンラインに正確に入力しJSON validatorましたが、どちらも有効であることを確認していますJSON data。したがって、JSONObjectコンストラクターはこの文字列を受け入れて、それをに変換できると思いJSONObjectます。しかし、私が試してみると:

json = new JSONObject(result);

「result」が上記の文字列を含む文字列変数である場合、次の例外が発生します。

JSONException: A JSONObject text must begin with '{' at character 1 of [[{"1":"a"}],[{"1a":"1a","1b":"1b"},{"2a":"2a","2b":"2b"}]]

何が起きてる?JSONObject'パーサーは壊れていますか?

4

2 に答える 2

8

JSONObjectを作成しようとしていますが、実際に提供しているのはJSONArrayです。代わりにJSONArrayを作成してみましたか?

または、配列をオブジェクトでラップして、そこからJSONObjectを作成することもできます。

于 2010-09-07T22:41:43.387 に答える
0

よりフル機能のように見えるので、代わりにGSonライブラリを使用することをお勧めします。

さらに、このツールを使用してデータをテストすると役立つ場合があります(データは有効です)。

于 2010-09-07T22:54:42.620 に答える