【问题标题】:How can to convert a flat file into JSON object using Java?如何使用 Java 将平面文件转换为 JSON 对象?
【发布时间】:2016-12-28 06:13:23
【问题描述】:

我有一个如下所示的平面文件:

   customerInfo.firstName
   customerInfo.lastName
   customerInfo.nickNames.0.name
   customerInfo.nickNames.0.meaning

对于上面的条目,想要构造一个如下的 JSON 对象:

    {
      "customerInfo": {
      "firstName": null,
      "lastName": null,
      "nickNames": [
      {
        "name": null,
        "meaning": null
      }]
     }
    }

注意:这些行(条目)可以是任何东西,我不能为此预定义一个类。

【问题讨论】:

  • 你想过吗?我看到的唯一困难是数组
  • 你试过什么?
  • 我的搜索针对的是已经存在的、经过验证的解决方案。不知道反对票是怎么回事。
  • 在解析文件时,我在位置 0 处得到了意外的 characterc [c]。如何解决它

标签: java json csv parsing


【解决方案1】:

如果你对使用外部库没问题,你可以试试这个。

   JSONParser parser = new JSONParser()
    Object obj = parser.parse(new FileReader("your_text_file_location"));
                JSONObject jsonObject = (JSONObject) obj;
    JSONObject jsonObject=(JSONObject )obj;
    String flattenedJson = JsonFlattener.flatten(jsonObject.toString());

还要确保将以下依赖项添加到 pom

<dependency>
    <groupId>com.github.wnameless</groupId>
    <artifactId>json-flattener</artifactId>
    <version>0.2.2</version>
</dependency>

【讨论】:

  • 这个解析器从哪里来的这一行 Object obj = parser.parse(new FileReader("your_text_file_location"));
  • 在解析文件时,我在位置 0 处得到了意外的 characterc [c]
猜你喜欢
  • 2010-11-20
  • 2021-01-26
  • 2016-05-02
  • 2013-09-09
  • 2023-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多