【发布时间】:2021-10-22 00:02:04
【问题描述】:
这段代码应该读取 JSON 文件,它是一个元素数组,然后它应该读取该数组的所有元素,但我得到的结果只有一行,它看起来像这样:
reviews[{"sourceId":"890cdd7974cdf8aabe6e9051f5a87303bdb933ae","logoHref":null,"reviewerId":null,"reviewCreatedOnTime":161157...
这是读取文件的代码:
FileReader read=new FileReader("C:\\Users\\User\\eclipse-workspace\\Task\\files\\reviews.json");
JSONParser parser=new JSONParser();
Object obj=parser.parse(read);
JSONObject jsonObject=new JSONObject();
jsonObject=(JSONObject) obj;
JSONArray reviews = new JSONArray();
reviews=(JSONArray) jsonObject.get("reviews");
Iterator<Map.Entry> itr1 = jsonObject.entrySet().iterator();
while (itr1.hasNext()) {
Map.Entry pair = itr1.next();
System.out.println(pair.getKey() + " " + pair.getValue());
}
//json file
{
"reviews":[
{
"id": 2097047,
"reviewId": "93f131be27dc1122bb7ef0048ad10e4f",
"reviewFullText": "5 star review",
"reviewText": "5 star review",
"numLikes": 0,
"numComments": 0,
"numShares": 0,
"rating": 5,
"reviewCreatedOn": "2 months ago",
"reviewCreatedOnDate": "2021-01-25T13:00:35+00:00",
"reviewCreatedOnTime": 1611579635,
"reviewerId": null,
"reviewerUrl": null,
"reviewerName": "Reviewer #20",
"reviewerEmail": null,
"sourceType": "custom",
"isVerified": false,
"source": "custom",
"sourceName": "1-20 Reviews",
"sourceId": "890cdd7974cdf8aabe6e9051f5a87303bdb933ae",
"tags": [],
"href": null,
"logoHref": null,
"photos": []
},
【问题讨论】:
-
你做过debugging吗?你发现了什么?
-
reviews[{ ...不是有效的 JSON。文件的内容是什么样的? -
您的代码无法生成您显示的输出。你可以添加真正的输出吗?还要添加输入示例。
-
这里是 json :``` { "reviews":[ { "id": 2097047, "reviewId": "93f131be27dc1122bb7ef0048ad10e4f", "reviewFullText": "5 星评论", "reviewText": “5 星评论”,“numLikes”:0,“numComments”:0,
-
我添加了json文件,你能看到吗?
标签: java json dictionary iterator filereader