2012-02-09 58 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時總是很有用。 – 2012-02-09 21:05:27

+0

使用http://jsonlint.org/這些東西,它是一個真正的書籤的神話般的工具。 – 2012-02-09 21:06:21

+0

你可以隨時試試這個http://jsonlint.com/ – RanRag 2012-02-09 21:06:30

回答

6

PURPLE_V,PURPLE_SPLAT,GREEN_V, ORANGE_V應該在引號內。

+0

哦,對!當然!謝謝。我認爲這是我忽略的一些簡單的事情。 – 2012-02-09 21:08:32

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 ......謝謝,我將在未來記住這一點。 – 2012-02-09 21:35:24

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', '{', '[', ']' 

PURPLE_V等等不是公認的類型。 如果你想讓它們成爲字符串,用引號括住它們。