如何从 JSchema/ Map JsonObjects 获取父对象名称到新父对象

Posted

技术标签:

【中文标题】如何从 JSchema/ Map JsonObjects 获取父对象名称到新父对象【英文标题】:How to get parent object name from JSchema/ Map JsonObjects to new parent 【发布时间】:2021-12-14 00:30:10 【问题描述】:

我有一个场景,我从多个 json 文件中读取数据并将它们映射到某种 Json 格式。

e.g. file1, file2, file 3

json输出:

 
"parentfile1":"file1content",
"parentfile2":"file2content",
"parentfile3" : "file3content" and so on. 
 

我正在尝试将读取的文件中的输入直接映射到有效的 json 格式,以避免读取一个 jsonObj 中的所有文件,将其映射到一个 Object(class) 并在新对象中添加每个参数以创建 jsonoutput .

我还想在合并这些 json 内容时处理共享的可变状态,所以我使用 lock(obj),执行此映射的方法是异步方法。

我正在使用 JSchema 来生成预期的 json 格式的模式,:

    检查此架构中的对象是否包含密钥(在文件中),(不确定这是否可能??) 从架构中获取它的父名称,并在一个 JsonObject 中添加带有值(文件内容 jsonobject)的父名称和 最后将2中的JSonObject反序列化为预期的文件输出。

不确定这是否是最好的方法。是否有任何其他建议/最佳实践来解决这种情况?

【问题讨论】:

能否请您与我们分享实现所描述算法/解决方案的代码? 【参考方案1】:

我想出了一种方法。

    使用 JSchema 生成架构 获取此模式的属性 -> 返回 IDictionary,字符串作为键-> 属性名称和 JSchema 作为值(键的子参数/属性) 遍历字典,获取2中JSchema的properties.value 循环遍历 3-> 键列表中返回的列表 在字典中添加父键作为值,子键作为键。

现在在父JObject中添加obj(文件内容)时,合并newJObject(parentkey, child object)

【讨论】:

以上是关于如何从 JSchema/ Map JsonObjects 获取父对象名称到新父对象的主要内容,如果未能解决你的问题,请参考以下文章

java json字符串转成 Map或List

flutter - 如何在Dart/Flutter中将某些元素从一个Map复制到新Map中?

unordered_map 迭代器指向 end(),如何从 unordered_map 中检索键?

如何将变量从 .map() 传递给回调函数

如何使用带有 json 的 Map 从数据库中设置地图 latlng 值?

如何从 .map 循环返回以从 API 获取数据 [重复]