Mam następujący ciąg przekazywane do serwera:Gson: Nie JSON obiektu
{
"productId": "",
"sellPrice": "",
"buyPrice": "",
"quantity": "",
"bodies": [
{
"productId": "1",
"sellPrice": "5",
"buyPrice": "2",
"quantity": "5"
},
{
"productId": "2",
"sellPrice": "3",
"buyPrice": "1",
"quantity": "1"
}
]
}
który jest prawidłowy json dla http://jsonlint.com/
chcę uzyskać pole organy tablicy.
To jak ja to robię:
Gson gson = new Gson();
JsonObject object = gson.toJsonTree(value).getAsJsonObject();
JsonArray jsonBodies = object.get("bodies").getAsJsonArray();
Ale w drugim wierszu dostaję wyjątek wymienione poniżej:
HTTP Status 500 - Not a JSON Object: "{\"productId\":\"\",\"sellPrice\":\"\",\"buyPrice\":\"\",\"quantity\":\"\",\"bodies\":[{\"productId\":\"1\",\"sellPrice\":\"5\",\"buyPrice\":\"2\",\"quantity\":\"5\"},{\"productId\":\"2\",\"sellPrice\":\"3\",\"buyPrice\":\"1\",\"quantity\":\"1\"}]}"
Jak to zrobić właściwie wtedy?
Może chcesz rzucić okiem na ten http://stackoverflow.com/a/15116323/2044733. Druga opcja, zaczynająca się od "Aby użyć JsonObject", wygląda dokładnie tak, jak chcesz. – bbill