日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JSON.NET 简单的使用

發布時間:2024/4/14 javascript 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JSON.NET 简单的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JSON.NET(http://json.codeplex.com/)使用來將.NET中的對象轉換為JSON字符串(序列化?),或者將JSON字符串轉換為.NET中已有類型的對象(反序列化?)

首先為了例子隨便定義一個類型:

public class Product {public string Name { get; set; }public DateTime Expiry { get; set; }public decimal Price { get; set; }public string[] Sizes { get; set; }public override string ToString(){return string.Format("Name:{0},Expiry:{1},Price:{2},SizesCount:{3}", Name, Expiry, Price, Sizes.Length);} }

初始化對象:

public static void Main(string[] passwordargs) {Product product = new Product(){Name = "android",Expiry = DateTime.Now,Price = 2000,Sizes = new string[] { "1.5", "2.2", "4.1" }}; }

進行到JSON的轉換:

Console.WriteLine(JsonConvert.SerializeObject(product));

輸出結果:

{"Name":"android","Expiry":"2013-08-30T09:50:11.5147845+08:00","Price":2000.0,"Sizes":["1.5","2.2","4.1"]}

其它看起來一切正常,除了這個日期有點怪

格式化日期:

//設置日期時間的格式,與DataTime類型的ToString格式相同 IsoDateTimeConverter iso = new IsoDateTimeConverter(); iso.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";Console.WriteLine(JsonConvert.SerializeObject(product, iso));

輸出結果:

{"Name":"android","Expiry":"2013-08-30 09:53:58","Price":2000.0,"Sizes":["1.5","2.2","4.1"]}

從JSON到對象的轉換:

string str = "{\"Name\":\"android\",\"Expiry\":\"2013-08-30 09:53:58\",\"Price\":2000.0,\"Sizes\":[\"1.5\",\"2.2\",\"4.1\"]}";Product p = (Product)JsonConvert.DeserializeObject(str, typeof(Product));Console.WriteLine(p.ToString());

輸出結果:

Name:android,Expiry:2013/8/30 9:53:58,Price:2000.0,SizesCount:3

從JSON到鍵值對的轉換:

string strJson = @"{""Name1"": ""小明"",""Name2"": ""小花"",""Name3"": ""小紅""}";Dictionary<string, string> _dictionary = JsonConvert.DeserializeObject<Dictionary<string, string>>(strJson);foreach (KeyValuePair<string, string> kp in _dictionary) {Console.WriteLine(kp.Key + ":" + kp.Value); }

輸出結果:

Name1:小明?
Name2:小花?
Name3:小紅

從字符串轉換到JSON對象,以及JSON對象的簡單使用:

string strJson2 = @"{ ""student"": { ""Name1"": ""小明"" , ""Name2"": ""小花"" , ""Name3"": ""小紅""} }";JObject jsonObj = JObject.Parse(strJson2);Console.WriteLine(jsonObj["student"]["Name1"].ToString()); Console.WriteLine(jsonObj["student"]["Name2"].ToString()); Console.WriteLine(jsonObj["student"]["Name3"].ToString());

輸出結果:

小明?
小花?
小紅

直接生成JSON對象:

JObject json =new JObject(new JProperty("Channel",new JObject(new JProperty("title", "JSON"),new JProperty("link", "JSON.NET"),new JProperty("description", "JSON.NET Description"),new JProperty("items",new JArray(new JObject(new JProperty("haha1", "123")),new JObject(new JProperty("haha2", "456")),new JObject(new JProperty("haha3", "789")))))));Console.WriteLine(json.ToString());

輸出結果:

{?
? "Channel": {?
??? "title": "JSON",?
??? "link": "JSON.NET",?
??? "description": "JSON.NET Description",?
??? "items": [?
????? {?
??????? "haha1": "123"?
????? },?
????? {?
??????? "haha2": "456"?
????? },?
????? {?
??????? "haha3": "789"?
????? }?
??? ]?
? }?
}

?

附上我的實驗代碼:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json.Converters;

namespace WebApplication1
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//解析json字符串
//String str = "{\"h\":\"hello world!\"}";
//JObject obj = JObject.Parse(str);
//Response.Write(obj["h"].ToString());

//Product product = new Product()
//{
// Name = "android",
// Expiry = DateTime.Now,
// Price = 2000,
// Sizes = new string[] { "1.5", "2.2", "4.1" }
//};

//格式化日期
//IsoDateTimeConverter iso = new IsoDateTimeConverter();
//iso.DateTimeFormat = "yyyy-MM-dd HH:mm:ss.fff";

//將對象轉換為json格式
//Response.Write(JsonConvert.SerializeObject(product,iso));

//解析匿名對象
//var obj = new
//{
// Name = "android",
// Expiry = DateTime.Now,
// Price = 2000,
// Sizes = new string[] { "1.5", "2.2", "4.1" }
//};

//格式化日期
//IsoDateTimeConverter iso = new IsoDateTimeConverter();
//iso.DateTimeFormat = "yyyy-MM-dd HH:mm:ss.fff";
//Response.Write(JsonConvert.SerializeObject(obj,iso));


//將List轉換為json格式
//List<Product> list = new List<Product>() {
// product,product,product,product,product
//};
//格式化日期
//IsoDateTimeConverter iso2 = new IsoDateTimeConverter();
//iso2.DateTimeFormat = "yyyy-MM-dd HH:mm:ss.fff";
//Response.Write(JsonConvert.SerializeObject(list,iso2));
//Response.End();

//將DataTable轉換為json格式
//DataTable dt = new DataTable();
//dt.Columns.Add("id", typeof(int));
//dt.Columns.Add("name", typeof(string));
//dt.Columns.Add("regtime", typeof(string));
//dt.Rows.Add(new object[] { 1, "張三", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") });
//dt.Rows.Add(new object[] { 2, "李四", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") });

//Response.Write(JsonConvert.SerializeObject(dt));
//Response.End();


//從json到對象轉換
//string str = "{\"Name\":\"android\",\"Expiry\":\"2013-08-30 09:53:58\",\"Price\":2000.0,\"Sizes\":[\"1.5\",\"2.2\",\"4.1\"]}";
//Product pro = (Product)JsonConvert.DeserializeObject(str, typeof(Product));
//Product pro = JsonConvert.DeserializeObject<Product>(str);
//Response.Write(pro.ToString());

//匿名對象中包含列表對象等
//var obj = new { productList = list, strHTML = "Welcome!" };
//IsoDateTimeConverter iso3 = new IsoDateTimeConverter();
//iso3.DateTimeFormat = "yyyy-MM-dd HH:mm:ss.fff";
//Response.Write(JsonConvert.SerializeObject(obj, iso3));
//Response.End();

?

//Json數組
JArray array = new JArray();
array.Add("Manual text");
array.Add(new DateTime(2000, 5, 23));

//Json對象
JObject o = new JObject();
//設置Json鍵的名字為MyArray,值為array
o["MyArray"] = array;
//調用ToString方法得到json字符串
string json = o.ToString();
Response.Write(json);
Response.End();
// {
// "MyArray": [
// "Manual text",
// "2000-05-23T00:00:00"
// ]
// }
}

}

public class Product
{
public string Name { get; set; }
public DateTime Expiry { get; set; }
public decimal Price { get; set; }
public string[] Sizes { get; set; }

public override string ToString()
{
return string.Format("Name:{0},Expiry:{1},Price:{2},SizesCount:{3}"
, Name, Expiry.ToString("yyyy-MM-dd HH:mm:ss.fff"), Price, Sizes.Length);
}
}

}

轉載于:https://www.cnblogs.com/jhxk/articles/4344632.html

總結

以上是生活随笔為你收集整理的JSON.NET 简单的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。