c# - 如何替换动态 JSON 中的属性值?
问题描述
我正在读取我的 json 文件并尝试替换属性值。JSON文件如下。
{
"fields": {
"summary": "summaryValue",
"project": {
"key": "projectValue"
},
"priority": {
"name": "priorityValue"
},
"Requestor": {
"name": "RequestorValue"
},
"issue": {
"name": "issueValue"
},
"labels": "LabelValue",
"customfield_xyz": "customfield_xyzValue"
}
}
如何替换 fields 属性中每个项目的值?例如:
{"fields": {
"summary": "NewsummaryValue",
"project": {
"key": "NewprojectValue"
},
"priority": {
"name": "NewpriorityValue"
}
}
}
下面是解析我的 json 文件的代码,
StreamReader r = new StreamReader(filepath);
var jsondata = r.ReadToEnd();
var jobj = JObject.Parse(jsondata);
foreach (var item in jobj.Properties())
{
\\replace code
}
解决方案
我不知道你到底想要什么。但是我根据需要更改了代码片段中的 json 信息。
dynamic dataCollection = JsonConvert.DeserializeObject<dynamic>(jsonData);
string summary = dataCollection["fields"]["summary"];
string project = dataCollection["fields"]["project"]["key"];
string priority = dataCollection["fields"]["priority"]["name"];
dynamic json = new JObject();
json.summary = summary;
json.project = project;
json.priority = priority;
dynamic jsonRoot = new JObject();
jsonRoot.fields = json;
Console.WriteLine(jsonRoot.ToString());
输出:
推荐阅读
- c# - 如何使用输出参数实现 azure 异步函数
- database - SequoiaDB导入工具如何使用?
- php - 检查一个数组的值是否存在于另一个数组中
- javascript - Javascript将地理位置作为字符串变量传递
- android - Activity 中的奇怪行为 ViewModel 观察者调用方法 - MVVM 架构
- python - 如何在 Python 3 中将 PNG 数据的 hexdump 字符串转换为二进制?
- javascript - 如何修复设备相机不支持移动浏览器 React Js 的问题
- redis - Redis在redis服务器启动/重启时删除和设置密钥
- c# - 如何在调整窗口大小时保持视频播放器的宽高比适合屏幕
- php - 无法在 php 文件中获取值