Primeiros Dicas popularizar:
JSON e JS objetos Huzhuan
Para conseguir a conversão de JSON objecto cadeia utilizando a JSON.stringify () Método:
var json = JSON.stringify ({a: 'Vinkong', b: 'Céu'}); // 结果 是 '{ "a": "Vinkong", "b": "Sky"}'
Para conseguir a conversão de JSON um objecto usando a JSON.parse () Método:
var obj = JSON.parse ( '{ "a": "Vinkong", "b": "Sky"}'); // 结果 是 {a: 'Vinkong', b: 'Sky'}
O seguinte é fornecido Demonstração
estabelecer uma classe Student
usando Newtonsoft.Json; usando System; utilizando System.Collections.Generic; usando System.Linq; usando System.Runtime.Serialization; usando System.Text; usando System.Threading.Tasks; usando System.Web.Script.Serialization; namespace ConsoleApplication1 { [DataContract] // DataContractJsonSerializer方式必须加的契约 classe Student { private string de nome; [DataMember] // DataContractJsonSerializer方式必须加的契约 [ScriptIgnore] //JavaScriptSerializer é rotulado usando o atributo de serialização não é [JsonIgnore] // usar JSON.NET modalidade da seqüência tag não atribui pública de Cordas _Name { GET { retornar o nome;} SET {Name = valor;} } [o DataMember] Privada int Age; público int _Age { GET { return Idade;} SET {Age = valor;} } [o DataMember] privado de Cordas Sex; pública de Cordas _Sex { Obter { return sexo; } Set {sexo = valor; } } } }
código de teste de gravação:
usando System; utilizando System.Collections.Generic; usando System.Linq; usando System.Text; usando System.Threading.Tasks; usando System.Web.Script.Serialization; usando Newtonsoft.Json; usando System.Runtime.Serialization; usando System.Runtime.Serialization.Json; usando System.IO; namespace ConsoleApplication1 { classe Programa { estática vazio Main ( corda [] args) { #region第一种方式:使用JavaScriptSerializer方式 STU Student = new new Student (); stu._Name = " vinkong " ; stu._Age = 15 ; stu._Sex = " macho " ; JavaScriptSerializer jsonSerialize = new new JavaScriptSerializer (); // using namespace JavaScriptSerializer forma devam ser introduzidas, este no System.Web.Extensions.dll montagem em // o usando System.Web.Script.Serialization; // NOTA: disponíveis [ScriptIgnore] marca não é serialização atributo // objecto sequência alvo cadeia= Strjson jsonSerialize.Serialize (STU); // Json desserializado STU = jsonSerialize.Deserialize <Student> (strjson); Console.WriteLine ( " modo 1. Use JavaScriptSerializer " ); Console.WriteLine ( " serialização: " + strjson); Console.WriteLine ( " deserialização: " + stu._Name + "" + " " + "" + stu._Age + "" + " " + " " + STU._Sex + ""); #Endregion #region uso JSON.NET maneira // utilizar a biblioteca namespace Json.NET Newtonsoft.Json necessidade de introduzir o uso; // NOTA: Disponível [JsonIgnore] da seqüência tag não atribui Student STU2 = new new Student () ; stu2._Name = " vinkong2 " ; stu2._Age = 15 ; stu2._Sex = " F " ; // serialização objecto Json Cadeia strjson2 = JsonConvert.SerializeObject (STU2); // Json desserializadas stu2 = JsonConvert.DeserializeObject <Student> (strjson2); Console.WriteLine ( " 2.使用JSON.NET方式" ); Console.WriteLine ( " 序列化: " + strjson2); Console.WriteLine ( " 反序列化: " + stu2._Name + "" + " " + "" + stu2._Age + "" + " " + " " + + stu2._Sex "" ); // uso caminho necessidade DataContractJsonSerializer introduzir namespaces, em System.Runtime.Serialization.dll. In. // o uso System.Runtime.Serialization.Json; // contrato entidade [DataMember], [DataContract], usando DataContractJsonSerializer serialização e desserialização devem ser adicionados, podem ser adicionados aos outros dois métodos não adicionar. Stu3 = Student novo novo Student (); stu3._Name = " vinkong3 " ; stu3._Age = 22 é ; stu3._Sex = " F " ; Cadeia strjson3 = "" ; // objecto serialização Json a utilização(Fluxo = MemoryStream novo MemoryStream ()) { DataContractJsonSerializer jsonSerialize2 = novo DataContractJsonSerializer (stu3.GetType ()); jsonSerialize2.WriteObject (fluxo, stu3); strjson3 = Encoding.UTF8.GetString (stream.ToArray ()); } // Json反序列化对象 utilizando (fluxo = MemoryStream novo MemoryStream (Encoding.UTF8.GetBytes (strjson3))) { DataContractJsonSerializer jsonSerialize3 = novo DataContractJsonSerializer ( typeof (Estudante)); stu3 = (Student) jsonSerialize3.ReadObject (fluxo); } Console.WriteLine ( " 3.使用DataContractJsonSerializer方式" ); Console.WriteLine ( " 序列化: " + strjson3); Console.WriteLine ( " 反序列化: " + stu3._Name + "" + " " + "" + stu3._Age + "" + " " + " " + + stu3._Sex "" ); Console.ReadKey (); #endregion } } }
JSON.NET maneira de fazer uso de serialização e de-serialização, o bom desempenho.