gpt4 book ai didi

java - 使用 Java 从文件转换 JSON 对象

转载 作者:行者123 更新时间:2023-12-01 22:24:57 25 4
gpt4 key购买 nike

我有一个 JSON 文件,不知道数据如何包含在其中,也不知道数据的结构。唯一已知的是它将具有 JSON 对象数组或单个 JSON 对象。

我需要从文件中获取每个对象并将其存储为单独的项目。如果文件中有对象数组,我应该获取可以存储在数据库中的 JSON 字符串数组。基本上,我需要读取这个文件并从中分离出每个 JSON 对象并将其作为字符串存储在数据库中。

实现此目的的方法之一是使用 JACKSON ObjectMapper 并将这些项目作为键值对分配给 Hashmap,但我不确定如果文件中存在 JSON 对象列表,则如何完成。

示例 JSON 文件:

 [
{
"name":"Bob",
"type":"Email",
"from":"a@a.com",
"to":"b@B.com",
"attachments":[...],
.
.
.
}
]

最佳答案

你知道 JSON 的对象结构吗(数组还是单个)?如果是,

<小时/>

首先将文件中的 json 字符串加载到内存字符串中。

  • 通过在多次出现“{”或“}”的外部结构中搜索“[”,“]”来检查字符串是否存在数组
  • 一旦您知道您是否拥有数组或单个对象,您就可以将其作为对象引用传递给 Jackson 或 GS​​ON 解析器
  • 在内存中创建 JsonObject.class 的数组(例如 List)。实际上最好将此列表包含在另一个类中。说 myJsonObjects 并在其中有一个列表。
<小时/>

让我们看看 GSON 解析器(由 google 提供),尽管 Jackson 也可以用于类似的实现

  Gson gson = new Gson();
if(isArray){
myJsonObjects jsonArray = gson.fromJson(jsonStringFromFile,myJsonObjects );

}
else{
gson.fromJson(jsonStringFromFile,JsonObject);
}

http://google-gson.googlecode.com/svn-history/trunk/gson/docs/javadocs/com/google/gson/Gson.html

关于java - 使用 Java 从文件转换 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28967266/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com