c#加入json库引用_C#如何通过匿名类直接使用访问JSON数据详解
實驗目的
在C#和Rest/Restful以及其它的Web服務交互過程中,大量使用到JSON傳遞數據,如何快捷的轉化C#對象到JSON和轉化JSON到C#對象,成為開發過程中頻繁使用的內容。傳統的方式下,我們需要定義和JSON對象同步的C#類并實例化成對象以遍操作,這里提供了一個直接使用匿名類的方式,相較于傳統方式可以少定義一些類,操作更加簡便。
開發環境
實現步驟
1.創建工程:控制臺程序,命名為JsonTest
2.添加組件:增加JSON組件
第一步:右鍵點擊項目,選擇“管理NuGet程序包”菜單
第二步:在"NuGet: JsonTest"選項卡中選擇瀏覽,輸入json后回車,選擇Newtonsoft.Json,選擇版本后點擊安裝按鈕。
第三步:完成安裝
3.編寫代碼:簡單結構
JSON格式如下:
{
"name":"張三",
"sex":"男",
"birthday": "2018-02-09"
}
CSharp代碼
using Newtonsoft.Json;
using System;
namespace JsonTest
{
class Program
{
static void Main(string[] args)
{
string jsonstr = JsonConvert.SerializeObject(new
{
name = "張三",
sex = "男",
birthday = "2018-02-09"
});
Console.WriteLine("對象序列化后的字符串為:");
Console.WriteLine(jsonstr);
Console.WriteLine("\n\n字符串反序列化為對象后的值為:");
var jsonobj = JsonConvert.DeserializeObject(jsonstr);
Console.WriteLine("姓名:" + jsonobj.name);
Console.WriteLine("性別:" + jsonobj.sex);
Console.WriteLine("生日:" + jsonobj.birthday);
Console.Read();
}
}
}
執行結果
4.編寫代碼:數組的操作
CSharp代碼
using Newtonsoft.Json;
using System;
namespace JsonTest
{
class Program
{
static void Main(string[] args)
{
string jsonstr = JsonConvert.SerializeObject(new[]{
new {
name = "張三",
sex = "男",
birthday = "2018-02-09"
},
new{
name = "李四",
sex = "男",
birthday = "2018-02-09"
}
});
Console.WriteLine("對象序列化后的字符串為:");
Console.WriteLine(jsonstr);
Console.WriteLine("\n\n字符串反序列化為對象后的值為:");
var jsonarr = JsonConvert.DeserializeObject(jsonstr);
foreach (var jsonobj in jsonarr)
{
Console.WriteLine("姓名:" + jsonobj.name);
Console.WriteLine("性別:" + jsonobj.sex);
Console.WriteLine("生日:" + jsonobj.birthday);
Console.WriteLine("---------------");
}
Console.Read();
}
}
}
執行結果
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
總結
以上是生活随笔為你收集整理的c#加入json库引用_C#如何通过匿名类直接使用访问JSON数据详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 笔记本电脑怎么启动usb 如何通过USB
- 下一篇: chipgenius怎么恢复u盘 恢复U