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