Java 解析JSON失败,没有JSONArray
我试图在Java程序中解析以下JSON JSONJava 解析JSON失败,没有JSONArray,java,json,Java,Json,我试图在Java程序中解析以下JSON JSON { "data": { "pageIDentifier":" nametitle", "page": { "pageID”:” sports_league_member", "platform":" www", "activityType":" ent", "businessUnit":" ent",
{
"data": {
"pageIDentifier":" nametitle",
"page": {
"pageID”:” sports_league_member",
"platform":" www",
"activityType":" ent",
"businessUnit":" ent",
"productLOB":" ent",
"productOffered":" abc",
"productQualifier”:” abc:a bc”,
"flowType”:” sports_com”,
"pageDesc”:” desc”,
"attributes": {
"pageType":" www",
"host”:” finaluser”,
"appId”:” SportsAppID_user”,
"daEnvironment”:” releaser”,
"jvm":" ent_logon_01",
"xCKey":" SportsAppID_user",
"daUID":" jddc9yu5pi1yy6",
"sysEnv”:” user”,
"uri”:” /www/sportscenter”,
"daPageName":" "
}
}
}
}
JAVA程序
URL url = getClass().getResource("test.json");
File file = new File(url.getPath());
String jsonData = readFile(file.getAbsolutePath());
JSONObject jobj = new JSONObject(jsonData);
JSONArray jarr = new JSONArray(jobj.getJSONArray("data").toString());
System.out.println("jarr: " + jarr);
我在执行此代码时遇到以下错误。请注意,jsonData提供的是完整的json字符串,没有任何问题
org.json.JSONException:JSONObject[“数据”]不是JSONArray
如何从上述json值解析“数据”值?请注意。
数据
不是数组
试试这个:
System.out.println("jarr: " + jobj.getJSONObject("data").toString());
数据
不是数组
试试这个:
System.out.println("jarr: " + jobj.getJSONObject("data").toString());
您的JSON示例清楚地表明数据不是数组@JonnathanQ是对的,数据不是数组,如果它是数组,您应该通过
jobj.getJSONArray(“数据”)
读取它,而不必执行new JSONArray
也可以使用一些不规则的双引号,但“倾斜”ones@JoseDaSilva:这可能是使用某些MS程序的产物发帖时,MS喜欢更改引号,并称之为“智能引号”。如果实际数据包含无效的字符,那么JSONObject将在到达.getJSONArray
call.JSON数组之前呕吐。JSON数组以[开头,以]结尾。例如[1,2,3,4]。与data
关联的值是一个JSON对象,因为它以{开头,以}结尾。请看您的JSON示例,它清楚地表明数据不是数组@JonnathanQ是对的,数据不是数组,如果它是数组,您应该通过jobj.getJSONArray(“数据”)
读取它,而不必执行new JSONArray
也可以使用一些不规则的双引号,但“倾斜”ones@JoseDaSilva:这可能是使用某些MS程序的产物发帖时,MS喜欢更改引号,并称之为“智能引号”。如果实际数据包含无效的字符,那么JSONObject将在到达.getJSONArray
call.JSON数组之前呕吐。JSON数组以[开头,以]结尾。例如[1,2,3,4]。与data
关联的值是一个JSON对象,因为它以{开头,以}结尾。看见