{"FTreeEntity": [ { "FCHILDUNITID": { "FNumber": "" }, "FEntrySource": "1", "FDOSAGETYPE": "2", "FISSUETYPE": "1", "FOverControlMode": "", "FMATERIALIDCHILD": { "FNumber": "" },}使用c#替换该Json数组中的值
时间: 2023-07-03 07:25:20 浏览: 174
你可以使用Json.NET库来完成这个任务。下面是一个示例代码,可以帮助你实现这个功能:
```csharp
using Newtonsoft.Json.Linq;
// 假设你有一个包含多个FTreeEntity对象的json字符串
string jsonString = "{\"FTreeEntity\":[{\"FCHILDUNITID\":{\"FNumber\":\"\"},\"FEntrySource\":\"1\",\"FDOSAGETYPE\":\"2\",\"FISSUETYPE\":\"1\",\"FOverControlMode\":\"\",\"FMATERIALIDCHILD\":{\"FNumber\":\"\"}}]}";
// 转换为 JObject 对象
JObject json = JObject.Parse(jsonString);
// 定义要替换的 key 和新的 value
string keyToReplace = "FNumber";
string newValue = "new value";
// 使用 JToken.SelectTokens 方法查找所有 key 为 keyToReplace 的 JToken
foreach (JToken token in json.SelectTokens($"..{keyToReplace}"))
{
// 替换 JToken 的值
token.Replace(newValue);
}
// 转换回 json 字符串
string newJsonString = json.ToString();
```
在上面的代码中,我们使用 JToken.SelectTokens 方法查找所有 key 为 FNumber 的 JToken,并使用 JToken.Replace 方法替换 JToken 的值。最后,我们将替换后的 JObject 对象转换为新的 json 字符串。
请注意,如果你有多个FTreeEntity对象,你需要使用JArray对象来代替JObject对象,然后在foreach循环中替换每个FTreeEntity对象中的FNumber值。
阅读全文