繁体   English   中英

Android JSON解析(Jackson)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM