Json.net
6826 ワード
json.netはC〓で書いたJsonの操作類型の倉庫です。http://json.codeplex.com/ ダウンロード
オブジェクトの順序をjson文字列にします。
時間タイプの書式を設定します。2つのオブジェクトをプログレッシブ時間の対象として使用します。IsoDateTimeConter JavaScript DateTimeConverter。
オブジェクトの順序をjson文字列にします。
public class Product
{
public string Name { get; set; }
public DateTime Expiry { get; set; }
public decimal Price { get; set;}
public string[] Sizes { get; set; }
}
static void Main(string[] args)
{
Product product = new Product() {
Name ="android",
Expiry =new DateTime (),
Price =2000,
Sizes =new string[]{"1.5","2.2","4.1"}
};
Console.WriteLine(JsonConvert.SerializeObject(product));
Console.Read();
}
出力:{"Name":"android","Expiry":"\/Date(-62135596800000 0800)\/","Price":2000.0,"Size
s":["1.5","2.2","4.1"]}
時間タイプの書式を設定します。2つのオブジェクトをプログレッシブ時間の対象として使用します。IsoDateTimeConter JavaScript DateTimeConverter。
Console.WriteLine(JsonConvert .SerializeObject (product,new IsoDateTimeConverter()));
Console.WriteLine(JsonConvert.SerializeObject(product, new JavaScriptDateTimeConverter()));
出力{"Name":"android","Expiry":"2000-09-09T00:00:00","Price":2000.0,"Sizes":["1.5","
2.2","4.1"]}
{"Name":"android","Expiry":new Date(968428800000),"Price":2000.0,"Sizes":["1.5",
"2.2","4.1"]}
カスタム出力時間書式IsoDateTimeConverter iso = new IsoDateTimeConverter();
iso.DateTimeFormat = "yyyy-MM-dd";//
Console.WriteLine(JsonConvert.SerializeObject(product, iso));
出力{"Name":"android","Expiry":"2000-09-09","Price":2000.0,"Sizes":["1.5","2.2","4.1
"]}
反プロローグProduct p=(Product)JsonConvert.DeserializeObject(str, typeof(Product));
Jobjectオブジェクトを作成JObject rss =
new JObject(
new JProperty("channel",
new JObject(
new JProperty("title", "James Newton-King"),
new JProperty("link", "http://james.newtonking.com"),
new JProperty("description", "James Newton-King's blog."),
new JProperty("item",
new JArray(
from p in posts
orderby p.Title
select new JObject(
new JProperty("title", p.Title),
new JProperty("description", p.Description),
new JProperty("link", p.Link),
new JProperty("category",
new JArray(
from c in p.Categories
select new JValue(c)))))))));
Console.WriteLine(rss.ToString());
オブジェクトを直接使用してJobjectオブジェクトを作成します。JObject obj = JObject.FromObject(new Product()
{
Name = "android",
Expiry = new DateTime(2000, 9, 9),
Price = 2000,
Sizes = new string[] { "1.5", "2.2", "4.1" }
});