【问题标题】:How to get parent object name from JSchema/ Map JsonObjects to new parent如何从 JSchema/ Map JsonObjects 获取父对象名称到新父对象
【发布时间】: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 格式的模式,:

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

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

【问题讨论】:

  • 能否请您与我们分享实现所描述算法/解决方案的代码?

标签: c# json json.net


【解决方案1】:

我想出了一种方法。

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

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

【讨论】:

    猜你喜欢
    • 2022-12-15
    • 2021-07-21
    • 2023-02-26
    • 2021-01-25
    • 2017-11-23
    • 1970-01-01
    • 1970-01-01
    • 2013-02-16
    • 1970-01-01
    相关资源
    最近更新 更多