gpt4 book ai didi

java - 在 Java 中操作 JSON 列表和映射

转载 作者:行者123 更新时间:2023-12-01 15:14:42 24 4
gpt4 key购买 nike

我正在开发一个将 JSON 类型字符串保存/检索到数据库的项目。

一切正常,即保存和更新对于String,Number和Boolean类型是安全的,但是对于List和Map,我想看看什么是安全的当数据在数据库中来回传输时,尤其是当列表上的项目变大(即数千个项目)时,例如“ friend ”和“关注者”列表,操作列表和映射的方法

我还担心在 Java 中处理 JSON ListMap 时潜在的数据损坏。

使用 JSON.Simple 库更新列表和 map 而不将所有内容(每个项目)加载到内存中的安全方法是什么。

例如,我只需要在存储在数据库中的 JSON 列表字符串中插入一 (1) 项。

最佳答案

JSON 不适合 ORM(对象关系映射)。这就是 NoSQL 数据库将 JSON 存储为文档(即整个内容)的原因。因此,JSON.Simple 不支持延迟加载部分 JSON 结构。

正如您所注意到的,关系数据库不能很好地映射到 JSON(基元除外),因为 List 的自然数据结构是 1:N 映射,其中列表类型具有索引列(即列表中元素的位置),而 Map 需要 N:M 映射。

因此,更好的解决方案可能是将整个 JSON 字符串存储在 CLOB 中(而不是尝试将其分解),或者将整个 JSON 字符串保存在 CLOB 中 + 提取一些关键字段,以便可以正确索引数据。

但是当您使用 JSON 时,您要么必须编写自己的 OR 映射器来支持 JSON 数组和映射的延迟加载,要么每次都必须将整个结构读入 RAM。

关于java - 在 Java 中操作 JSON 列表和映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11795687/

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