我已经下载并在eclipse中为我的项目添加了json-simple.jar
。唯一的问题是Parser,Eclipse说"parser cannot be resolved"
。虽然JSONObject
和JSONArray
工作得很好。
我在尝试阅读文件时遇到错误:
JSONParser parser = new JSONParser();
JSONArray jArray = (JSONArray) parser.parse(new FileReader("comments.json"));
导入如下:
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
我刚刚开始使用json,所以我可能会遗漏一些东西。
comments.json
文件的格式为:
{
"postId": 1,
"id": 1,
"name": "id labore ex et quam laborum",
"email": "Eliseo@gardner.biz",
"body": "laudantium enim quasi est"
}
答案 0 :(得分:0)
我没有测试过,但由于你的json文件只有一个对象,我更喜欢使用JSONObject
代替JSONArray
:
Object obj = parser.parse(new FileReader("comments.json"));
JSONObject jsonObject = (JSONObject) obj;
String name = (String) jsonObject.get("name");
System.out.println(name);
答案 1 :(得分:0)
我个人更喜欢Jackson库,所以我不熟悉JSON.simple。您是否考虑为解析器创建ContainerFactory()
? http://juliusdavies.ca/json-simple-1.1.1-javadocs/org/json/simple/parser/ContainerFactory.html
此外,您的"comment.json"
只是JSONObject()
,因此无需额外支付JSONArray()
也许试一试:
ContainerFactory cf = new ContainerFactory();
Map jsonContainer = cf.createObjectContainer();
JSONParser parser = new JSONParser();
JSONObject jObj = (JSONObject) parser.parse(new FileReader("comments.json"), jsonContainer);