C# Newtonsoft.Json之LINQ To Json实例(一)

1, LINQ to JSON 常用实例1:
JObject o = JObject.Parse(@"{  
    'CPU': 'Intel',  
    'Drives': [  
    'DVD read/writer',  
    '500 gigabyte hard drive'  
    ]  
    }");  
string cpu = (string)o["CPU"];  
Console.WriteLine(cpu);//CPU  
string firstDrive = (string)o["Drives"][0];  
Console.WriteLine(firstDrive);// DVD read/writer  
IList<string> allDrives = o["Drives"].Select(t => (string)t).ToList();  
foreach (var item in allDrives)  
{  
    Console.WriteLine(item); // DVD read/writer  
                                //500 gigabyte hard drive  
}  

Parsing JSON 将json 字符串转换成对象

string json = @"{  
'CPU': 'Intel',  
'Drives': [  
'DVD read/writer',  
'500 gigabyte hard drive'  
],  
'Mouses':{  
'one':'小米',  
'two':'戴尔'  
}  
}";  
JObject computer = JObject.Parse(json);  
Console.WriteLine(computer.First.ToString());//"CPU": "Intel"  
Console.WriteLine(computer.Last.ToString()); //"Mouses": { "one": "小米","two": "戴尔"}  
string one = computer["Mouses"]["one"].ToString(); //小米  
Console.WriteLine(one);  
  
//2.转化数组  
string json2 = @"['张三','李四','王五']";  
JArray array2 = JArray.Parse(json2);  
Console.WriteLine(array2.Type);//Array  
Console.WriteLine(array2[1]); //李四  
  
string json3 = @"[{name:'张三'},{name:'李四'}]";  
JArray array3 = JArray.Parse(json3);  
Console.WriteLine(array3.Type);//Array  
Console.WriteLine(array3[1]);//{ "name": "李四" }  
  
  
//3.转化Json 文件  
using (StreamReader sr = File.OpenText(@"F:\ABCSolution\JsonSolution\JsonSolution\Data\json1.json"))  
{  
    JObject o = (JObject)JToken.ReadFrom(new JsonTextReader(sr));  
    Console.WriteLine(o["CPU"]);//Intel  
    //如果没有找到抛出异常  
    //举例说明,只是获取 o["CPU"] 为空不会抛出异常,  
    //o["CPU"]["one"] 如果o["CPU"] 为空就会抛出异常  
    string result = (string)o["Mouses"]["one"]; //小米  
    Console.WriteLine(result);  
}  

Creating JSON 将对象属性转换成json 字符串

// 动态生成json字符串  
//1.创建数组  
JArray array = new JArray();  
array.Add(new JValue("张三"));  
array.Add(new JValue("李四"));  
string json1 = array.ToString();  
Console.WriteLine(json1);  
//[  
//  "张三",  
//  "李四"  
//]  
  
//2.创建对象  
JObject obj = new JObject();  
obj.Add("name",new JValue("张三"));  
obj.Add("age",new JValue("20"));  
string json2 = obj.ToString();  
Console.WriteLine(json2);  
//{  
//"name": "张三",  
//  "age": "20"  
//}  
  
//3.创建对象方式2,使用匿名对象  
JObject obj2 = JObject.FromObject(new { name = "李四", Birthday = DateTime.Now });  
string json3 = obj2.ToString();  
Console.WriteLine(json3);  
//{  
//"name": "李四",  
//  "Birthday": "2016-09-09T14:53:23.0307889+08:00"  
//}  

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值