我有一个场景,我从多个json文件中读取数据,并将它们映射到特定的json格式。
e.g. file1, file2, file 3
jsonoutput:
{
"parentfile1":"file1content",
"parentfile2":"file2content",
"parentfile3" : "file3content" and so on.
}
我试图将文件读取的输入直接映射到有效的json格式,以避免在一个jsonObj中读取所有文件,将其映射到一个对象(类)中,并在新对象中添加每个参数以创建jsonoutput。
我也想处理共享的可变状态,而合并这些json内容,所以我使用锁(obj),做这个映射的方法是一个异步方法。
我正在使用JSchema来生成预期json格式的模式,:
- 检查此模式中的对象是否包含键(在文件中),(不确定这是否可能??)
- 从模式中获取父名称,并在一个jsonobject和 中添加父名称和值(文件内容jsonobject)。
- 最后将JSonObject在2中反序列化为预期的文件输出。
不确定这是否是最好的方法。是否有其他建议/最佳实践来解决这种情况?
我想到了一个办法。
- 使用JSchema 生成模式
- 获取该模式的属性->返回以字符串为键的字典->属性名和JSchema作为值(键的子参数/属性)
- 遍历字典并获取属性。2 中JSchema的值
- 循环3->键列表
- 添加父键作为值,子键作为字典中的键。
现在在父JObject中添加obj(文件内容)时,合并newJObject(parentkey,子对象)