3
我在解析我從JavaScript獲得的JSON時遇到問題。 JSON格式是這樣的:用gson解析JSON數組
[{"positions":[{"x":50,"y":50},{"x":82,"y":50},{"x":114,"y":50},{"x":146,"y":50}]},{"positions":[{"x":210,"y":50},{"x":242,"y":50},{"x":274,"y":50}]}]
到目前爲止,我已經能夠遠遠地得到這樣的:
{"positions":[{"x":50,"y":50},{"x":82,"y":50},{"x":114,"y":50},{"x":146,"y":50}]}
,但我也需要現在創建一個類的職位。我一直在努力學習這門課,因爲我試着先打印輸出,但我無法進一步細分。我收到此錯誤消息:
java.lang.IllegalStateException:這不是JSON數組。
而且我的代碼是這樣的:
JsonParser parser = new JsonParser();
String ships = request.getParameter("JSONships");
JsonArray array = parser.parse(ships).getAsJsonArray();
System.out.println(array.get(0).toString());
JsonArray array2 = parser.parse(array.get(0).toString()).getAsJsonArray();
System.out.println(array2.get(0).toString());
我也試圖做這種方式:
Gson gson = new Gson() ;
String lol = (gson.fromJson(array.get(0), String.class));
System.out.println(lol);
在這種情況下,我得到:
com.google.gson。 JsonSyntaxException:java.lang.IllegalStateException:期望的STRING,但是BEGIN_OBJECT
最後,iw ant來遍歷位置,爲每個「位置」創建類,其中包含帶有另一個具有int x,y的類位置的List。
謝謝你的時間。
非常感謝。我從來沒有想過這會很容易,我甚至不知道我想用String來做什麼。你是我的英雄 – user1047833 2012-03-24 18:00:25
嗨有可能解析一個複雜的JSON字符串在PHP中創建混合的dataTypes而不創建內部類。其實我們的API是用PHP編寫的,我們通過一個java應用程序來使用這個API。 – sumit 2015-02-23 12:59:39
@sumit:你想如何使用JSON字符串?雖然JSON是PHP/javascript中的對象格式,你將如何訪問java中的屬性? – 2015-02-23 14:17:51