加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 将List转换为JObject

发布时间:2020-12-15 23:48:46 所属栏目:百科 来源:网络整理
导读:考虑以下代码: var joWork = ((JObject) x).Properties() .Where(p = p.Value.Type == JTokenType.String).ToList(); 我最终得到了一个List JProperty. 有没有使用Linq或JSON.NET函数快速转换List JProperty在没有在循环中从头开始构建JObject的情况下反对J
考虑以下代码:

var joWork = ((JObject) x).Properties()
    .Where(p => p.Value.Type == JTokenType.String).ToList();

我最终得到了一个List< JProperty>.

有没有使用Linq或JSON.NET函数快速转换List< JProperty>在没有在循环中从头开始构建JObject的情况下反对JObject?

解决方法

是的,您可以将列表传递给JObject构造函数,Json.NET将完成其余的工作.这是一个例子:

using System;
using System.Linq;
using Newtonsoft.Json.Linq;

public class Test
{
    static void Main()
    {
        JObject original = JObject.Parse("{ "x": "a","y": "b","z": 1 }");
        var properties = original
            .Properties()
            .Where(p => p.Value.Type == JTokenType.String)
            .ToList();

        var recreated = new JObject(properties);
        Console.WriteLine(recreated);
    }
}

输出:

{
  "x": "a","y": "b"
}

(缺少z属性,因为它的值不是字符串.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读