我有一个这样的 JSON 对象数组:
{"message":"[\"{\\\"name\\\":\\\"lays\\\",\\\"calories\\\":1.0}\",\"{\\\"name\\\":\\\"lays\\\",\\\"calories\\\":0.33248466}\"]"}
我正在尝试使用以下代码解析它:
Object object = parser.parse ( message );
JSONArray array = (JSONArray) object;
for(int i=0;i < array.size () ; i++)
{
System.out.println(array.get ( i ));//output; {"name":"lays","calories":1.0}
JSONObject jsonObj = ( JSONObject ) array.get ( i );//ClassCastExceptio
String foodName = ( String ) jsonObj.get ( KEY_NAME );
Float calories = (Float) jsonObj.get ( KEY_CARLORIES );
Nutrinfo info = new Nutrinfo(foodName,calories);
data.add ( info );
}
但我在标记线上得到一个 ClassCastException 。这没有意义:array.get() 返回一个对象,我将其转换为 JSONObject。为什么我会收到此错误。
谢谢。