您好,我正在尝试使用GSON类来转换以下Json字符串。
{"data":
{"detections":
[
[
{"language":"en","isReliable":false,"confidence":0.9759119}
]
]
}
}我得到了这个错误。com.google.gson.JsonSyntaxException: java.lang.IllegalStateException:预期为BEGIN_ARRAY,但在com.google.gson.Gson.fromJson(Gson.java:731)时为BEGIN_OBJECT
它的类层次结构应该是什么?
发布于 2011-12-28 11:26:34
也许下面的例子给出了一个足够的想法。
import java.io.FileReader;
import java.math.BigDecimal;
import com.google.gson.Gson;
public class GsonFoo
{
public static void main(String[] args) throws Exception
{
Gson gson = new Gson();
Bar bar = gson.fromJson(new FileReader("input.json"), Bar.class);
System.out.println(bar.data.detections[0][0]);
// output:
// Detection: language=en, isReliable=false, confidence=0.9759119
}
}
class Bar
{
Data data;
}
class Data
{
Detection[][] detections;
}
class Detection
{
Language language;
boolean isReliable;
BigDecimal confidence;
@Override
public String toString()
{
return String.format("Detection: language=%s, isReliable=%s, confidence=%s", language, isReliable, confidence);
}
}
enum Language
{
en, fr;
}https://stackoverflow.com/questions/8647260
复制相似问题