怎样用C#把JSON数据转换为list或数组
1个回答
展开全部
引用,在项目中引用
using System.ServiceModel.Web;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;
==================
定一个跟Json一样的类
public class CJsonObj
{
//属性
}
你的Json是文件,就把这文件读到流里面来再转
string jsonText = System.IO..ReadAllText(Json文件); //这就读出了文件,并存成了string
List<CJsonObj> _Test = new List<CJsonObj>(); //建立list
//这个是关键对象DataContractJsonSerializer
DataContractJsonSerializer _Json = new DataContractJsonSerializer(_Test.GetType());
//转码,把string 转成byte[]数组
byte[] _Using = System.Text.Encoding.UTF8.GetBytes(_JsonText);
//开个流,把数组加进去
System.IO.MemoryStream _MemoryStream = new System.IO.MemoryStream(_Using);
_MemoryStream.Position = 0; //流从0开始
//就这句,读到List里了
_Test = (List<Test>)_Json.ReadObject(_MemoryStream);
//你的JSON文件格式必须与你定的类一致,你懂得
using System.ServiceModel.Web;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;
==================
定一个跟Json一样的类
public class CJsonObj
{
//属性
}
你的Json是文件,就把这文件读到流里面来再转
string jsonText = System.IO..ReadAllText(Json文件); //这就读出了文件,并存成了string
List<CJsonObj> _Test = new List<CJsonObj>(); //建立list
//这个是关键对象DataContractJsonSerializer
DataContractJsonSerializer _Json = new DataContractJsonSerializer(_Test.GetType());
//转码,把string 转成byte[]数组
byte[] _Using = System.Text.Encoding.UTF8.GetBytes(_JsonText);
//开个流,把数组加进去
System.IO.MemoryStream _MemoryStream = new System.IO.MemoryStream(_Using);
_MemoryStream.Position = 0; //流从0开始
//就这句,读到List里了
_Test = (List<Test>)_Json.ReadObject(_MemoryStream);
//你的JSON文件格式必须与你定的类一致,你懂得
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询