當(dāng)前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
操作JSON字符串
操作JSON字符串 using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using System.Runtime.Serialization;
using System.IO;namespace JobSearch
{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){Product pro = new Product();pro.Name = "show";pro.Size = 70;pro.ProcductDate = DateTime.Now.AddDays(-10);IList<Product> ProductCollection = new List<Product>();ProductCollection.Add(pro);ProductCollection.Add(pro);ProductCollection.Add(pro);string JsonStr = JsonConvert.SerializeObject(ProductCollection);//string JsonStr = JsonHelper.Serialize(ProductCollection);this.textBox1.Text = JsonStr;}private void button2_Click(object sender, EventArgs e){string JsonStr = this.textBox1.Text;IList<Product> ProductCollection = (IList<Product>)JsonConvert.DeserializeObject(JsonStr, typeof(IList<Product>));//Product pro = (Product)JsonConvert.DeserializeObject(JsonStr, typeof(Product));MessageBox.Show(ProductCollection.Count.ToString());}}[Serializable]public class Product{private string _Name = string.Empty;public string Name{get { return _Name; }set { _Name = value; }}private int _Size = 0;public int Size{get { return _Size; }set { _Size = value; }}private DateTime _ProcductDate = DateTime.MinValue;public DateTime ProcductDate{get { return _ProcductDate; }set { _ProcductDate = value; }}}public class JsonHelper{public static string Serialize<T>(T data){System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = new System.Runtime.Serialization.Json.DataContractJsonSerializer(data.GetType());using (MemoryStream ms = new MemoryStream()){serializer.WriteObject(ms, data);return Encoding.UTF8.GetString(ms.ToArray());//ms.Position = 0;//using (StreamReader sr = new StreamReader(ms))//{// return sr.ReadToEnd();//}}}public static T Deserialize<T>(string json){T obj = Activator.CreateInstance<T>();using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(json))){System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = new System.Runtime.Serialization.Json.DataContractJsonSerializer(obj.GetType());return (T)serializer.ReadObject(ms);}}}
}
posted on 2011-03-17 13:37 放逐憂傷 閱讀(...) 評論(...) 編輯 收藏
轉(zhuǎn)載于:https://www.cnblogs.com/navy235/archive/2011/03/17/1986129.html
總結(jié)
- 上一篇: C#反编译工具Reflector使用方法
- 下一篇: 淘宝店铺图片数据迁移核心代码