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