使用c#。解析Json数组的层级并替换Json数组中的值{ "Model": { "FID": 0, "FCreateOrgId": { "FNumber": "FH" }, "FNumber": "PDM001", "FUseOrgId": { "FNumber": "FH" }, "FMATERIALID": { "FNumber": "00002" }, "FTreeEntity": [ { "FMATERIALIDCHILD": { "FNumber": "00003" }, "FNUMERATOR": 5.0 } ] } }
时间: 2023-07-03 12:25:22 浏览: 134
以下是一个使用 C# 解析和替换 JSON 数组的示例代码:
```csharp
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
// 原始的 JSON 对象字符串
string jsonStr = @"
{
""Model"": {
""FID"": 0,
""FCreateOrgId"": {
""FNumber"": ""FH""
},
""FNumber"": ""PDM001"",
""FUseOrgId"": {
""FNumber"": ""FH""
},
""FMATERIALID"": {
""FNumber"": ""00002""
},
""FTreeEntity"": [
{
""FMATERIALIDCHILD"": {
""FNumber"": ""00003""
},
""FNUMERATOR"": 5.0
}
]
}
}
";
// 将 JSON 字符串解析为 JObject 对象
JObject jsonObj = JObject.Parse(jsonStr);
// 找到需要替换的值所在的位置,替换为新的值
jsonObj["Model"]["FTreeEntity"][0]["FMATERIALIDCHILD"]["FNumber"] = "00004";
jsonObj["Model"]["FTreeEntity"][0]["FNUMERATOR"] = 10.0;
// 将 JObject 对象转换为 JSON 字符串
string newJsonStr = JsonConvert.SerializeObject(jsonObj);
// 打印替换后的 JSON 字符串
Console.WriteLine(newJsonStr);
```
该代码使用了 Newtonsoft.Json 库,将原始的 JSON 对象字符串解析为 JObject 对象,然后找到需要替换的值所在的位置,将其替换为新的值,最后将 JObject 对象转换为 JSON 字符串并打印出来。
阅读全文