【问题标题】:Correcting the format of an existing JSON file in java更正java中现有JSON文件的格式
【发布时间】: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。

标签: java json


【解决方案1】:

我在这个网站上使用了一个工具:我上传了 JSON 文件,然后我点击了工具按钮,然后它更正了文件并再次下载:

https://jsoneditoronline.org/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-09-30
    • 1970-01-01
    • 1970-01-01
    • 2017-06-03
    • 1970-01-01
    • 2019-06-13
    • 2016-10-06
    • 1970-01-01
    相关资源
    最近更新 更多