[英]Android JSON Parsing (Jackson)
我读过许多不同的文章,比较和教程,它们使用不同的JSON库将JSON解析(和创建)成Java Object。 无论如何,我认为事实是正确的,因为我决定使用称为Jackson的JSON库。
GSON简单而强大,但是对我来说却很慢。 因此,我决定实际尝试一下Jackson的事情,但是,与GSON相比,这里的解析似乎有些混乱。
我要解析的值的数据类型只是Boolean 。
这就是我要解析的JSON的样子:
{"FooResult":true}
因此,我实际上需要帮助的是从键FooResult
选择值,然后将其值解析为布尔值。
到目前为止,这是我所做的:
String json = getString(request);
ObjectMapper mapper = new ObjectMapper();
mapper.readValue(json, Boolean.class);
但是这段代码显然给了我一个错误原因,因为我没有选择我感兴趣的FooResult
键,并将其解析为布尔值。
您应该创建一个新的类,如下所示:
class MyClass {
public boolean FooResult;
}
并使用以下代码加载数据:
MyClass myObject = mapper.readValue(json, MyClass.class);
然后,您可以使用myObject.FooResult
访问该值
好的,这很la脚。 当我重新考虑它时,甚至是拉默。 一直以来,问题是您要解析的对象的类必须是静态的 。 在今天我甚至发表这个问题之前,我已经尝试了西蒙建议的四到五次,但问题一直在于课堂并非静态的 。
所以现在终于可以了。
static class FooClass
{
public boolean FooResult;
}
并用于解析过程。
String json = getString(request);
ObjectMapper mapper = new ObjectMapper();
FooClass fooClass = null;
try
{
fooClass = mapper.readValue(json, FooClass.class);
}
boolean result = fooClass.FooResult;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.