Что не так с этим JSON? - PullRequest
       13

Что не так с этим JSON?

1 голос
/ 10 февраля 2012

Я использую json simple для создания и анализа некоторых json. Однако после его создания я получаю ParseException, когда делаю parser.parse(jStr);. Ниже приведено значение jStr

{"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]]}

Что с этим не так? Разве я не могу сделать массив массивов?

Ответы [ 4 ]

6 голосов
/ 10 февраля 2012

PURPLE_V, PURPLE_SPLAT, GREEN_V, ORANGE_V должны быть в кавычках.

2 голосов
/ 10 февраля 2012

Попробуйте JSONLint :

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

выход

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

PURPLE_V и т. Д. Не являются распознанными типами. Если вы хотите, чтобы они были строками, окружите их кавычками.

1 голос
/ 10 февраля 2012

Исправлено (с некоторым форматированием для просмотра):

{"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

1 голос
/ 10 февраля 2012

Нечисловые значения должны быть в кавычках.

{"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/

...