0

我有以下字符串代码,我想转换为 json 并遍历项目并将它们放入 Java 中的数组列表中。我还有一个名为 Users 的类,它的属性和 getter/setter(id、nick、age、online、avatar)我应该怎么做:

代码:

//this is the real code
String a = "{"id":"1","nick":"jhon","age":20,"online":1,"avatar":"http:\/\/www.example.com\/image.jpeg"},{"id":"2","nick":"mike","age":45,"online":0,"avatar":"http:\/\/www.example.com\/image.jpeg"},{"id":"3","nick":"carl","age":12,"online":1,"avatar":"http:\/\/www.example.com/image.jpeg"},{"id":"4","nick":"ana","age":22,"online":0,"avatar":"http:\/\/www.example.com\/image.jpeg"}";


//this is what i want to do
String a = real code sample;
Json b = a.toJson; // something like this
Arraylist<User> list = new Arraylist<User>();
for each b{
     list.add(     new user(b.getId(),b.getNick()....));
}

我想做这样的事情,当然代码是一个例子,这里写得不好。

4

3 回答 3

0

你可能更喜欢使用Gson库,它有很好的使用文档。您可以轻松地将对象解析为 JSON 并将 JSON 解析为对象。因此,对于您自己的解析器来说,它可能是一个更好的选择。

它还支持数组和集合。

于 2012-08-07T14:56:11.137 回答
0

杰克逊非常适合这种事情 - 我已经使用它一段时间了,没有任何问题。我也听说过关于 Gson 的好消息,但没有理由从 Jackson 转换过来。 Xstream也可以与 Json 一起工作。

Jackson(我也相信 Gson)没有使用特殊的“JSON”对象,而是将 JSON 值填充到 POJO 中。您可以使用注释来自定义读取和写入值的方式。

FWIW,JSON 处理很容易使用这样的库,但也是您不想做太多的事情 - 它在 CPU 方面相对昂贵。并不是这些库很慢 - 那种文本处理需要大量工作。

于 2012-08-07T15:19:57.857 回答
0

我认为您需要先在JSONLINT上验证您的数组

于 2012-08-07T15:17:45.237 回答