【问题标题】:Rename Key in JObject重命名 JObject 中的键
【发布时间】:2017-09-08 01:00:10
【问题描述】:

在 .json 文件中更改列名的最简单方法是将其字符串化并简单地使用替换。但这可能会影响价值观。

我也可以解析成jsonobject,逐行替换key,但是这样好像效率不高。

var json = client.DownloadString(item.uri);
dynamic holdJson= JsonConvert.DeserializeObject(json);

foreach(var item in holdJson) {
    item.setKey("replacement"); ?
}

我在这里遗漏了什么吗?替换或重命名 json 文件中的列标题的最佳方法是什么?

编辑:更清楚地问我的问题:如何更改 JObject 中的键?

【问题讨论】:

  • 我希望下面的链接能在 javascript 级别对您有所帮助,同样适用于 C#,几乎没有变化,请查看此链接 stackoverflow.com/questions/13391579/how-to-rename-json-key 例如。代码 var json = [{"_id":"5078c3a803ff4197dc81fbfb","email":"user1@gmail.com","image":"some_image_url","name":"Name 1"},{"_id":" 5078c3a803ff4197dc81fbfc","email":"user2@gmail.com","image":"some_image_url","name":"Name 2"}]; json = JSON.parse(JSON.stringify(json).split('"_id":').join('"id":')); document.write(JSON.stringify(json));

标签: c# json json.net


【解决方案1】:

虽然它可能不是正确的答案,但可以这样解决:

var jsonFile = JsonConvert.DeserializeObject(json);

foreach (JObject row in jsonFile)
{
    row.Add("newKeyName", "value");
    row.Property("oldKey").Remove();
}

只需添加和删除行,jobject 就会更新,您的 jsonfile 也会更新。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-21
    • 2021-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多