我正在尝试将json文件转换为csv文件,我正在使用以下代码
Exception in thread "main" java.lang.ClassCastException
我的json文件有大量数据,看起来像这样
{ "值":[ { "名称":" accountleadscollection""种类":" EntitySet的"" URL":" accountleadscollection& #34; },{ "名称":"帐户""那种":" EntitySet的""网址":"账户& #34; },{ "名称":" activitymimeattachments""种类":" EntitySet的"" URL":" activitymimeattachments& #34; },{ "名称":" activityparties""种类":" EntitySet的"" URL":" activityparties& #34; },{ "名称":" activitypointers""种类":" EntitySet的"" URL":" activitypointers& #34; },{ "名称":"注释""种类":" EntitySet的"" URL":"注释& #34; },{ "名称":" annualfiscalcalendars""种类":" EntitySet的"" URL":" annualfiscalcalendars& #34; },{...............
每当我尝试执行代码时,我都会收到此错误{{1}}。我遵循的逻辑是正确的还是任何人都可以提供更好的代码,我正在实现一个具有此方法的接口。
答案 0 :(得分:0)
String
中的JSONObject
。JSONObject
方法在getJSONArray("arraName")
中获取数组。getJSONObject(index)
使用索引获取对象。以下是您可以执行此操作的示例代码。
从字符串中解析JSON:
public void convert() throws JSONException {
String jsonString = readFile("prop.json"); //URL of your json file
JSONObject jsonObj = new JSONObject(jsonString);
JSONArray jsonArr = jsonObj.getJSONArray("value");
for (int j = 0; j < jsonArr.length(); j++) {
JSONObject tempJsonObj = jsonArr.getJSONObject(j);
System.out.println(tempJsonObj.get("name"));
System.out.println(tempJsonObj.get("kind"));
System.out.println(tempJsonObj.get("url"));
}
}
读取JSON文件:
public String readFile(String filename) {
String result = "";
try {
BufferedReader br = new BufferedReader(new FileReader(filename));
StringBuilder sb = new StringBuilder();
String line = br.readLine();
while (line != null) {
sb.append(line);
line = br.readLine();
}
result = sb.toString();
} catch (Exception e) {
e.printStackTrace();
}
return result;
}