【问题标题】:How to read the Json data without knowing the Key value如何在不知道 Key 值的情况下读取 Json 数据
【发布时间】:2015-08-30 12:58:59
【问题描述】:

我有一个 json 数据作为输入字符串。现在我需要用输入的 Json 数据更新现有的 Json 数据。就我而言,我想遍历每个键并与现有的 Json 数据匹配,然后使用输入的 Json 数据更新该键的 value

检索现有数据的代码

var existingJSon = ProductRepository.ListOfProd.Cast<JArray>().Where(x => x["ProdId"].ToString() == id.ToString());

检索数据后,我的 existingJson 将如下所示。

{
    ProdId:"1",
    Title:"C#",
    Author:"Jeffy",
    Publisher:"XYZ",
    Category:"Microsoft"
    }

现在我需要遍历作为输入的每个键并匹配现有的 Json 键并更新该键的值。

输入和更新后应该是这样的:

{
ProdId:"1",
Title:"C#",
Author:"Jeffy",
Publisher:"abcd",
Category:"Microsfot Basic .Net Development Kit"
}

【问题讨论】:

  • 你想用 jquery 做这个吗?
  • 没有。使用 C#。这不可能吗?
  • Merge 新的JToken 到旧的。
  • 哦..让我试试看:)
  • 我在我的 JContainer 中找不到合并方法 :(

标签: c# asp.net json asp.net-web-api json.net


【解决方案1】:

看看这是否对你有帮助,我们可以使用Newtonsoft 来反序列化未知类型并循环键和值。

string json = "{ProdId:\"1\",Title:\"C#\",Author:\"Jeffy\",Publisher:\"XYZ\",Category:\"Microsoft\"}";
        JObject obj = JsonConvert.DeserializeObject < JObject>(json);
        var properties = obj.Properties();
        foreach (var prop in properties)
        {
            string key = prop.Name;
            object value = prop.Value;
        }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-09
    • 1970-01-01
    • 1970-01-01
    • 2022-08-18
    • 1970-01-01
    • 1970-01-01
    • 2017-01-12
    相关资源
    最近更新 更多