我有一个 asp.net WCF,其中包含一个函数,该函数将序列化 LINQ 结果并返回这个 json 字符串
"[{\"intPromoter\":1,\"varID\":\"DP900001\",\"varName\":\"Jay Chou\"}]"
但这似乎与我正在学习的 json 有点不同,所以我在 android java 中用这段代码添加了“行”
text = "{\"rows\":" + text + "}";
它变成了这样
{"rows":"[{\"intPromoter\":1,\"varID\":\"DP900001\",\"varName\":\"Jay Chou\"}]"}
所以当我使用下面的函数解析成 json 数组时,它给了我 java.lang.string 无法转换为 jsonarray。所以我不确定来自.net的字符串是否需要在json读取之前更改为某种格式,或者是否有直接的方法而不在开头添加“行”。提前致谢。
JSONObject jObject = new JSONObject(results);
JSONArray jArray = jObject.getJSONArray("rows"); //This LINE GIVE error,
for (int i=0; i < jArray.length(); i++)
{
JSONObject oneObject = jArray.getJSONObject(i);
int intPromoter =Integer.parseInt(oneObject.getString("KEY_intPromoter"));
String varID = oneObject.getString("KEY_varID");
String varName = oneObject.getString("KEY_varName");
}