【发布时间】:2015-06-05 13:58:37
【问题描述】:
我有一个 json 文件,它的格式与我预期的不同。当我使用 CDL 将此 json 文件转换为 csv 文件时,它的格式不正确,因为我将 JSONObject 转换为 JSONArray。
我想更改 JSON 文件的格式,这样我就不必将 JSONObject 更改为 JSONArray。
现有文件格式 -
{"CampaignID":1,"Name":"Halloween Deals","Status":"Sent"}
{"CampaignID":2,"Name":"New Year Deals Campaign 2","Status":"Sent"}
我希望它是怎样的
{"Campaigns":[{"CampaignID":1,"Name":"Halloween Deals","Status":"Sent"},
{"CampaignID":2,"Name":"New Year Deals Campaign 2","Status":"Sent"}]}
我正在提取一个包含广告系列列表的 json 文件 CamapignList.json。该文件包含每个活动详细信息的 REST API 链接。因此,我正在遍历 CampaignList.json 文件中广告系列数量的 url,并将详细信息写入另一个格式不正确的文件 CamapignDetail.json。
JSONObject jObj = new JSONObject(result);
JSONArray items = jObj.getJSONArray("Items");
for (int i=0; i<items.length(); i++)
{
JSONObject cObj = items.getJSONObject(i);
String campaign_url = "rest.xyz.com/v1/Campaigns/…;
System.out.println(camp_url);
HttpGet reqst = new HttpGet(camp_url);
HttpResponse res= client.execute(req);
BufferedReader rd = new BufferedReader (new InputStreamReader(resp.getEntity().getContent()));
PrintWriter wr = new PrintWriter(new FileWriter(camp_file, true));
wr.println(rd.readLine());
}
【问题讨论】:
-
我认为第一个示例不是有效的 JSON
-
是的,现有的 json 文件格式错误。它是从每个活动的另一个 json 文件中给出的 REST API 链接中提取的。有什么办法可以纠正吗?我已经检查了您建议的帖子,但这对我的情况没有帮助。
-
具体问题是什么?看起来您只需要将它包装在一个数组中并将其粘贴到新对象中的
Campaigns键上。 -
我正在提取一个包含活动列表的 json 文件 CamapignList.json。该文件包含每个活动详细信息的 REST API 链接。因此,我正在遍历 CampaignList.json 文件中广告系列数量的 url,并将详细信息写入另一个格式不正确的文件 CamapignDetail.json。