gpt4 book ai didi

java - 并行解析n个JSON对象并形成聚合json的优化方法

转载 作者:行者123 更新时间:2023-12-01 22:27:31 26 4
gpt4 key购买 nike

作为解析多个 JSON 并将生成的 JSON 聚合为最终输出的有效实现的一部分。

假设:

Json1 : 

[
{
"id":"abc",
"name" : "json"
},
... having 10k json objects
]

Json2:

[
{
"id":"abc",
"language" : "java"
},
... having 10k json objects
]

Json3:

[
{
"id":"abc",
"subject" : "solving"
},
... having 10k json objects
]

从 3 个 json 中,要求是1.优化了在3个json中搜索属性“id”,如果匹配则将这些json对象映射到最终json对象的方式。

遵循的方法

我尝试了以下方法

Iterate over the first JSON array object and find the one attribute "id" and iterate over remaining JSON's and look the matching "id" and corresponding JSON object merging and forming final objects In this process, Taking O(n^3) time for search the find the matching records more ever n > 10k in my case  

最好的继续方法是什么

最佳答案

假设您已经知道所有可能的 JSON 字段,并且 id 是一个唯一属性,创建一个java对象来反射(reflect)所有字段。

class MyObject{
String id;
String name;
String language;
String subject;
}

然后创建一个键值对列表,以id为键。每当您找到id时,如果它存在于键值对列表中,则修改相应的对象。否则创建一个新对象并将其作为新的键值对添加到列表中。这样,您只需遍历每个 JSON 一次,但可能会占用大量辅助空间。

关于java - 并行解析n个JSON对象并形成聚合json的优化方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58561956/

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