读取本地json文件解析出错

研石少年 2017-08-25 11:11:39
这是源代码
File file = new File(fileName);
System.out.println(file);

if( !file.exists() ){
System.out.println("读入的路径不对!");
}

FileReader fileReader = new FileReader(file);
System.out.println(fileReader);

// 读取原始json文件
BufferedReader br = new BufferedReader(fileReader);
System.out.println(br);
// 输出新的json文件
String s = null, ws = null;

while ((s=br.readLine())!= null) {
String sa=new String(s.getBytes("UTF-8"),"UTF-8");
System.out.println(sa);
try {
// 创建一个包含原始json串的json对象
JSONObject dataJson = new JSONObject(sa);
// 找到data json数组
JSONArray features = dataJson.getJSONArray("data");
for (int i = 0; i < features.length(); i++) {
// 获取data数组的第i个json对象
JSONObject info = features.getJSONObject(i);
// 读取data对象里的createDate字段值
// String name = info.getString("createDate");
// 删除createDate字段
info.remove("createDate");
// 添加createDate字段
info.put("createDate", list.get(i));

}
ws = dataJson.toString();


} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("fuck!为什么解析错误!");
}
}

String strPath="C:\\Users\\admin\\Desktop\\tus\\woyouportalweb\\page\\mohefenxi\\tourist_nearly7.json";
strPath=strPath.replaceAll("\\\\", "/");
//输径出路
String bwfileName = strPath;
File bwfile = new File(bwfileName);
FileWriter fileWriter =new FileWriter(bwfile);
if( !bwfile.exists() ){
System.out.println("输出的路径不对!");
}
// 输出新的json文件
BufferedWriter bw = new BufferedWriter(fileWriter);

bw.write(ws);
bw.flush();
br.close();
bw.close();
fileWriter.close();
fileReader.close();

这是错误
{"retCode":0,"data":[{"id":451,"number":4287,"name":"涓夋竻灞?,"income":1178925.0,"createDate":"2017-06-18"},{"id":452,"number":4762,"name":"涓夋竻灞?,"income":1309550.0,"createDate":"2017-06-19"},{"id":453,"number":4334,"name":"涓夋竻灞?,"income":1191850.0,"createDate":"2017-07-20"},{"id":454,"number":8821,"name":"涓夋竻灞?,"income":2425775.0,"createDate":"2017-07-21"},{"id":455,"number":6203,"name":"涓夋竻灞?,"income":1705825.0,"createDate":"2017-07-22"},{"id":456,"number":4970,"name":"涓夋竻灞?,"income":1366750.0,"createDate":"2017-07-23"},{"id":457,"number":5495,"name":"涓夋竻灞?,"income":1511125.0,"createDate":"2017-07-24"}]}
org.json.JSONException: Expected a ',' or '}' at character 61
at org.json.JSONTokener.syntaxError(JSONTokener.java:412)
at org.json.JSONObject.<init>(JSONObject.java:225)
at org.json.JSONTokener.nextValue(JSONTokener.java:346)
at org.json.JSONArray.<init>(JSONArray.java:127)
at org.json.JSONTokener.nextValue(JSONTokener.java:350)
at org.json.JSONObject.<init>(JSONObject.java:208)
at org.json.JSONObject.<init>(JSONObject.java:422)
at cn.cucsi.agri.collector.worktask.MoHeJsonConvert.Json(MoHeJsonConvert.java:126)
at cn.cucsi.agri.collector.worktask.MoHeJsonConvert.run(MoHeJsonConvert.java:43)
java.lang.NullPointerException
at java.io.Writer.write(Writer.java:157)
at cn.cucsi.agri.collector.worktask.MoHeJsonConvert.Json(MoHeJsonConvert.java:162)
at cn.cucsi.agri.collector.worktask.MoHeJsonConvert.run(MoHeJsonConvert.java:43)
...全文
966 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackren001 2017-12-27
  • 打赏
  • 举报
回复
请问你是怎么解决的
jk_lover 2017-12-27
  • 打赏
  • 举报
回复
这明显的json格式不对,"name":"涓夋竻灞?, 这个位置少了一个"
引用 3 楼 renwentao001 的回复:
请问你是怎么解决的
Love_云宝儿 2017-08-25
  • 打赏
  • 举报
回复
研石少年 2017-08-25
  • 打赏
  • 举报
回复
已经自己解决

50,532

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧