簡體   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