JObject 用法 、JProperty 用法、JArray 用法

使用LINQ to JSON前,需要引用Newtonsoft.Json的dll和using Newtonsoft.Json.Linq的命名空间LINQ to JSON主要使用到JObject, JArray, JProperty和JValue这四个对象,
JObject用来生成一个JSON对象,简单来说就是生成”{}”,
JArray用来生成一个JSON数组,也就是”[]”,
JProperty用来生成一个JSON数据,格式为key/value的值,
而JValue则直接生成一个JSON值

JObject joReturn = new JObject(new JProperty("data", new JObject(new JProperty("list",jaa))),
                  new JProperty("smm",1),
                  new JProperty("err",""),
                  new JProperty("errMsg", "Operation succeeded"),
                  new JProperty("errNo",""));

最终生成Json 格式输出。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
06-02
如果你有一个包含多个FTreeEntity对象的json数组,你可以使用JArray对象来代替JObject对象,然后在foreach循环中替换每个FTreeEntity对象中的FNumber值。下面是一个示例代码,可以帮助你实现这个功能: ```csharp using Newtonsoft.Json.Linq; // 假设你有一个包含多个FTreeEntity对象的json数组 string jsonString = "[{\"FTreeEntity\":[{\"FCHILDUNITID\":{\"FNumber\":\"\"},\"FEntrySource\":\"1\",\"FDOSAGETYPE\":\"2\",\"FISSUETYPE\":\"1\",\"FOverControlMode\":\"\",\"FMATERIALIDCHILD\":{\"FNumber\":\"\"}}]}]"; // 转换为 JArray 对象 JArray jsonArray = JArray.Parse(jsonString); // 定义要替换的 key 和新的 value string keyToReplace = "FNumber"; string newValue = "new value"; // 遍历每个 FTreeEntity 对象 foreach (JToken token in jsonArray) { JToken fTreeEntity = token["FTreeEntity"]; if (fTreeEntity != null) { // 遍历 FTreeEntity 对象中的每个 JToken foreach (JToken childToken in fTreeEntity.Descendants()) { if (childToken is JProperty property && property.Name == keyToReplace) { // 替换 JToken 的值 property.Value = newValue; } } } } // 转换回 json 字符串 string newJsonString = jsonArray.ToString(); ``` 在上面的代码中,我们首先使用 JArray.Parse 方法将 json 字符串转换为 JArray 对象,然后遍历每个 FTreeEntity 对象,并使用 JToken.Descendants 方法查找该对象中的所有子节点。如果子节点是 JProperty 对象,并且它的名称是 keyToReplace,我们就使用 property.Value 属性替换子节点的值。最后,我们将替换后的 JArray 对象转换为新的 json 字符串。 请注意,JToken.Descendants 方法会遍历所有子节点,包括对象、数组、属性等。如果你只想遍历特定类型的节点,可以使用 JContainer.DescendantsAndSelf 方法,并提供要筛选的节点类型作为参数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值