2012-02-09 9 views
1

私はjsonを使って、いくつかのjsonを作成して解析しています。しかし、それを作成した後、parser.parse(jStr);を実行するとParseExceptionになります。値は以下の通りですjStrこのJSONでは何が間違っていますか?

{"score":12,"balls":[[PURPLE_V,134.33325,331.11713,2.0,10.750022,-115,11.0,0],[PURPLE_SPLAT,59.209473,169.87143,0.0,6.2909174,16,11.0,1],[GREEN_V,119.00015,73.71671,-12.0,6.7500067,-35,11.0,0],[ORANGE_V,229.66664,7.4416676,8.0,5.250001,-5,11.0,0]]} 

これは何か問題がありますか?配列の配列はできませんか?

+1

[jsonlint](http://jsonlint.com/)は、無効なjsonのデバッグに常に役立ちます。 –

+0

http://jsonlint.org/でこれらの種類のものを使用してください。これは本当にブックマークしたすばらしいツールです。 –

+0

いつでも試してみることができますhttp://jsonlint.com/ – RanRag

答えて

6

PURPLE_V,PURPLE_SPLAT,GREEN_V,ORANGE_Vは引用符で囲んでください。

+0

ああ、そうです!もちろん!ありがとう。私は見落としたシンプルなものだと思った。 –

1

数値以外の値は、引用符で囲む必要があります。

{"score":12,"balls":[["PURPLE_V",134.33325,331.11713,2.0,10.750022,-115,11.0,0],["PURPLE_SPLAT",59.209473,169.87143,0.0,6.2909174,16,11.0,1],["GREEN_V",119.00015,73.71671,-12.0,6.7500067,-35,11.0,0],["ORANGE_V",229.66664,7.4416676,8.0,5.250001,-5,11.0,0]]} 

http://jsonlint.com/を使用してJSONを検証することをおすすめします。あなたはまた、(視聴のためにも、いくつかのフォーマットで)修正しhttp://www.json.org/

+0

jsonlint ...ありがとう、私は将来それを覚えています。 –

1

をチェックすることをお勧めします:

{"score":12,"balls":[ 
    ["PURPLE_V",134.33325,331.11713,2.0,10.750022,-115,11.0,0], 
    ["PURPLE_SPLAT",59.209473,169.87143,0.0,6.2909174,16,11.0,1], 
    ["GREEN_V",119.00015,73.71671,-12.0,6.7500067,-35,11.0,0], 
    ["ORANGE_V",229.66664,7.4416676,8.0,5.250001,-5,11.0,0] 
]} 

http://json.org

2

を参照してくださいJSONLintをお試しください:

{ 
    "score": 12, 
    "balls": [ 
     [ 
      PURPLE_V, 
      134.33325, 
    // .. 

出力

Parse error on line 4: 
...  [   PURPLE_V,   
----------------------^ 
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '[', ']' 

などは認識されないタイプです。 文字列にしたい場合は、引用符で囲みます。