2012-02-09 4 views
1

J'utilise json simple pour créer et analyser certains json. Cependant, après l'avoir créé, je reçois un ParseException quand je le fais parser.parse(jStr);. Ci-dessous la valeur de jStrQu'est-ce qui ne va pas avec ce 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]]} 

Qu'est-ce qui ne va pas? Est-ce que je ne peux pas faire un tableau de tableaux?

+1

[jsonlint] (http://jsonlint.com/) est toujours utile pour le débogage de json invalide. –

+0

Utilisez http://jsonlint.org/ pour ce genre de choses, c'est vraiment un outil fabuleux à mettre en signet. –

+0

Vous pouvez toujours essayer ceci http://jsonlint.com/ – RanRag

Répondre

6

PURPLE_V, PURPLE_SPLAT, GREEN_V, ORANGE_V doivent être entre guillemets.

+0

Oh, c'est vrai! Bien sûr! Merci. J'ai pensé que c'était quelque chose de simple que j'ai oublié. –

1

Les valeurs non numériques doivent être entre guillemets.

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

je vous recommande d'utiliser http://jsonlint.com/ pour valider votre JSON. Vous pouvez également consulter http://www.json.org/

+0

jsonlint ... merci, je m'en souviendrai dans le futur. –

1

corrigée (avec également une mise en forme pour l'affichage):

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

Voir http://json.org

2

Essayez JSONLint:

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

sortie

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

PURPLE_V, etc. ne sont pas reconnus. Si vous vouliez qu'ils soient des chaînes, entourez-les de guillemets.