J'essaye de créer un objet JSON qui ressemble à:

{
  "values": {
    "barcode": "{"title":"611269991000grant"}"
  }
}

Notez que la valeur du code à barres n'est qu'une chaîne. Voici ce que j'écris:

// title = 611269991000grant
params = new JSONObject("{\"values\": {\"barcode\":" + "\"{\"title\":\"" +  title + "\"}\" } }");

Le problème est cependant que cela lancera une exception disant

Unterminated object at character 26 of {"values": {"barcode":"{"title":"611269991000grant"}" } }

Quelqu'un sait ce que je fais mal?

-2
Syntactic Fructose 3 janv. 2016 à 20:42

2 réponses

Ce n'est pas le JSON . Changement

params = new JSONObject("{\"values\": {\"barcode\":" + "\"{\"title\":\"" +  title + "\"}\" } }");

À

params = new JSONObject("{\"values\": {\"barcode\":" + "{\"title\":\"" +  title + "\"} } }");

Pour que votre JSON soit enfin:

{
  "values": {
    "barcode": {"title":"611269991000grant"}
  }
}
0
Mohammed Aouf Zouag 3 janv. 2016 à 17:45

Si votre intention est que la valeur de barcode soit une représentation sous forme de chaîne d'un document, et non d'un document, alors

"{"title":"611269991000grant"}"

N'est pas valide, soit vous scapez les guillemets doubles intérieurs " avec \ soit vous remplacez les guillemets doubles intérieurs " par des guillemets simples '

{
  "values": {
    "barcode": "{'title':'611269991000grant'}"
  }
}

Ou

{
  "values": {
    "barcode": "{\"title\":\"611269991000grant\"}"
  }
}
0
saljuama 3 janv. 2016 à 17:49