关于Newtonsoft.Json,LINQ to JSON的一个小demo

nuget获取Newtonsoft.Json
github地址:Newtonsoft.Json

        public static void Test1()
        {
            /* 文本格式如下 代码实现目的:
             1、VR 对象中是否包含ProjectId
             2、取ProjectId下的值
             {
                   "VR": {
                       "ProjectId": {
                           "txt_s": "工程项目的名称编号Id",
                           "value": "01"

                       },
                       "ProjectObject": {
                           "ProjectTypeName": {
                               "name": "12企业类别1",
                               "txt_s": "企业类别名称"

                           },
                           "txt_s": "企业类别对象"

                       },
                       "ProjectTitle": {
                           "txt_s": "工程项目的名称(Title信息)",
                           "value": "01"

                       },
                       "UserId": {
                           "txt_s": "用户的Id",
                           "value": "01"

                       }
                   }
               }
               */
            var str = @"{ "VR": {"ProjectId": {"txt_s": "工程项目的名称编号Id", "value": "01" }, "ProjectObject": {"ProjectTypeName": {"name": "12企业类别1", "txt_s": "企业类别名称" }, "txt_s": "企业类别对象" }, "ProjectTitle": {"txt_s": "工程项目的名称(Title信息)", "value": "01" }, "UserId": {"txt_s": "用户的Id", "value": "01" } }}";
            //上述文本是编码之后的,方便调试
            str = HttpUtility.UrlDecode(str, Encoding.UTF8);

            var jobject = JObject.Parse(str);

            var projectId = jobject.SelectToken("VR.ProjectId");

            //VR 对象中是否包含ProjectId
            if (!projectId.HasValues)
            {
                //不包含
            }
            else
            {
                foreach (var temp in projectId.Children())
                {
                    if (temp.Path.EndsWith("txt_s"))
                    {
                        var a = temp.ToObject<string>();
                        //a 的值是 工程项目的名称编号Id
                    }

                    if (temp.Path.EndsWith("value"))
                    {
                        var a = temp.ToObject<string>();
                        //a 的值是 01
                    }
                }
            }
        }

更多专业前端知识,请上 【猿2048】www.mk2048.com
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Json.NET 描述: json。 网络是一个流行的高性能JSON为。NET框架 灵活的JSON序列化器对之间的转换。净对象和JSON linqJSON用于手动阅读和写作JSON 高性能,速度比。净的内置JSON序列化器 写缩进,容易阅读JSON JSON和XML之间进行转换 支持: .NET 2, .NET 3.5, .NET 4, .NET 4.5, Silverlight, Windows Phone and Windows 8 Store 版本: Json.NET has different libaries for the various .NET Framework versions. -Net45: .NET latest (4.5) -Net40: .NET 4.0 -Net35: .NET 3.5 -Net20: .NET 2.0 -WinRT: Windows 8 Store -Portable45: .NET 4.5, Windows Phone 8, Windows 8 Store -Portable40: .NET 4.0, Windows Phone 7, Windows 8 Store, Silverlight 4 Notes: Microsoft stopped support for the Compact Framework in Visual Studio 2010. For a Compact Framework 3.5 build download Json.NET 3.5. For a Silverlight 3.0 build download Json.NET 3.5. Microsoft Visual Studio 2010 重新生成解决方案的一些警告处理 警告 2 预定义类型“System.Action”是在全局别名的多个程序集中定义的;将使用“c:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework \v4.0\mscorlib.dll”中的定义 ClassLibrary1 警告 3 预定义类型“System.Action”是在全局别名的多个程序集中定义的;将使用“c:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework \v4.0\mscorlib.dll”中的定义 ClassLibrary1 警告 4 预定义类型“System.Action”是在全局别名的多个程序集中定义的;将使用“c:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework \v4.0\mscorlib.dll”中的定义 ClassLibrary1 警告 5 预定义类型“System.Action”是在全局别名的多个程序集中定义的;将使用“c:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework \v4.0\mscorlib.dll”中的定义 ClassLibrary1 警告 6 预定义类型“System.Func”是在全局别名的多个程序集中定义的;将使用“c:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework \v4.0\mscorlib.dll”中的定义 ClassLibrary1 警告 7 预定义类型“System.Func”是在全局别名的多个程序集中定义的;将使用“c:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework \v4.0\mscorlib.dll”中的定义 ClassLibrary1 警告 8 预定义类型“System.Func”是在全局别名的多个程序集中定义的;将使用“c:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework \v4.0\mscorlib.dll”中的定义 ClassLibrary1 警告 9 预定义类型“System.Func”是在全局别名的多个程序集中定义的;将使用“c:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework \v4.0\mscorlib.dll”中的定义 ClassLibrary1 警告 10 预定义类型“System.Func”是在全局别名的多个程序集中定义的;将使用“c:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework \v4.0\mscorlib.dll”中的定义 ClassLibrary1 问题原因:检查程序发现,由于项目中引用了Newtonsoft.Json.Net20,从而造成系统的类重名(项目FRAMEWORK的版本4.0)。 Newtonsoft.Json.Net 包括: .NET 2, .NET 3.5, .NET 4, .NET 4.5, Silverlight, Windows Phone and Windows 8 Store,所有dll文件和源码,有需要的同学可以直接下载。 个人网站多多支持:www.mlyuansu.com
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值