我目前正在嘗試使用api上代號的JSONParser。爲什麼JSONParser總是返回一個double?
在後端有一個很長的值發送,但在我的應用程序有一個雙重值分析。
我知道有一種方法說setUseLongs(boolean),我已經將該字段設置爲true。如果我立即解析器並呼叫System.out.println(p.isUseLong)它打印true。
但是,該字段仍然被解析爲double值,儘管它是作爲long值發送的。
我在這裏錯過了什麼?
下面是代碼:
@Override
protected void readResponse(InputStream input) throws IOException {
JSONParser.setUseLongs(true);
JSONParser p = new JSONParser();
System.out.println(p.isUseLongs()); //true and a Warning to use static methods static...
Map<String,Object> data = p.parseJSON(new InputStreamReader(input));
System.out.println(data); //long value already printed as double
}
EDIT
這裏是JSON字符串(在最後一行打印,則解析器輸出):
[
{createdByUserId=1364.0, //should be int
createdAtDate=1.464330197735E12, //should be long
deleted=false, //boolean, correct
updatedAtDate=1.464330197735E12, //long
name=Hallo1, //String, correct
...
]
也許更新你的庫可以幫助,因爲有一個與此相關的錯誤:https://github.com/codenameone/codenameone/issues/1254 –
謝謝你,更新我的庫,刷新庫,仍然是相同的 –
它也許有助於向我們展示JSON文本。 –