我想反序列化以下json数据https://mtgox.com/code/data/getDepth.php。我一直在收到错误。以下是我的代码。
Gson gson = new Gson();
String json = readHTTPS(new URL("https://mtgox.com/code/data/getDepth.php"));
AskBids askBids = gson.fromJson(json, AskBids.class);
我的AskBids类看起来像:
public class AskBids {
private String [] [] asks;
private String [] [] bids;
public AskBids(){}
}
错误是get是com.google.gson.JsonParseException:期待找到的对象:“问”
有什么想法吗?感谢
答案 0 :(得分:3)
原始问题中链接的JSON包含超过2,800个JSON令牌,元素名称和值。以下是该示例的一小部分,它保持完全相同的结构。
{
"asks": [
[
18.22,
15.362
],
[
25.4682,
20
]
],
"bids": [
[
18.06,
50
],
[
18.0099,
32.64
]
]
}
也就是说,我使用原始JSON和上面粘贴的较短版本复制粘贴原始问题中的反序列化代码,代码按预期运行没有错误。
基于错误消息Expecting object found: "asks"
,我怀疑readHTTPS(URL)
方法没有返回正确的结果,因为它不包括JSON的开放{
。如果这是问题所在,但由于某些原因readHTTPS(URL)
无法修复,您可以通过连接丢失的字符来“修复”其输出。