Json数据转成 C# asp.net数据(对象)和逆转换

1.需要引用的命名空间

using System.Web.Script.Serialization;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;
using System.IO;
using System.Text;

2.Json数据转成 C# asp.NET数据(对象)方法如下

 

[csharp] view plain copy
 
  1. MemoryStream stream = new MemoryStream();  
  2. DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(List<yourType>));////youType是与Json格式对应的C#类  
  3. StreamWriter wr = new StreamWriter(stream);  
  4. wr.Write(tabJson);  //tabJson是你需要转化的Json字符串  
  5. wr.Flush();  
  6. stream.Position = 0;  
  7. Object obj = ser.ReadObject(stream);  
  8. List<yourType> list = (List<yourType>)obj; //list即为转化成的c#对象集合,通过索引如list[0],list[1]等访问。  
  9. int length = list.Count();//length为list对象集合的对象个数  

3.如上方法的json字符串必须为如下格式,就是数组

[csharp] view plain copy
 
  1. [  
  2.     {  
  3.         "ID": "1",  
  4.         "fieldName": "MANDT",  
  5.         "fieldDisc": "客户端",  
  6.         "fieldType": "String",  
  7.         "mainGuid": "7cc70e2e-dea7-495b-85ac-639a202b4c86",  
  8.         "subGuid": "b95a98f5-7b7d-4060-96c7-3088cbab1fe4"  
  9.     },  
  10.     {  
  11.         "ID": "2",  
  12.         "fieldName": "VKORG",  
  13.         "fieldDisc": "销售主体",  
  14.         "fieldType": "String",  
  15.         "mainGuid": "7cc70e2e-dea7-495b-85ac-639a202b4c86",  
  16.         "subGuid": "1ae34ef2-ac94-47c6-8589-59b41d5054ef"  
  17.     }  
  18. ]  

 

而对应的yourType的类型如下:

[csharp] view plain copy
 
  1. public class yourType  
  2.     {  
  3.         public int ID { get; set; }  
  4.         public string fieldName { get; set; }  
  5.         public string fieldDisc { get; set; }  
  6.         public string fieldType { get; set; }  
  7.         public string mainGuid { get; set; }  
  8.         public string subGuid { get; set; }  
  9.     }  

 

4. C# asp.Net数据(对象)转成Json数据

 

[csharp] view plain copy
 
    1. JavaScriptSerializer serializer = new JavaScriptSerializer();    
    2. var jsonData = serializer.Serialize(list);    

posted on 2017-06-08 15:36  alex5211314  阅读(320)  评论(0编辑  收藏  举报

导航