-
JSON格式的案列如下
https://www.json.cn/
可以在这个网址更清楚的查看JSON数据,另外还可以在这直接生成实体类,这里就不演示了 -
实体类
public class Jsondata//实体类1
{
public string Spec { get; set; }
public string Uplimit { get; set; }
public string Dnlimit { get; set; }
public string Max { get; set; }
public string Min { get; set; }
public List<TestData> TestValue { get; set; }
}
public class TestData//实体类2
{
public string ItemCode { get; set; }
public string Value { get; set; }
}
- 写入JSON格式数据
//引用Newtonsoft.Json
//using Newtonsoft.Json;
Jsondata js = new Jsondata();//实体类1
//赋值
js.Spec = "10";
js.Uplimit = "15";
js.Dnlimit = "5";
js.Max = "12";
js.Min = "8";
List<string> dataAry = new List<string>();
for (int i = 0; i < 3; i++)
{
dataAry.Add(new Random().Next(1, 10).ToString());//得到3个随机数
}
js.TestValue = new List<TestData>();//初始化
for (int i = 0; i < dataAry.Count + 1; i++) //测试数据
{
TestData d = new TestData();//实体类2
if (i < dataAry.Count)
{
d.ItemCode = "值" + (i + 1);
d.Value = "22";
js.TestValue.Add(d);
}
}
string strJson = JsonConvert.SerializeObject(js);//序列化转换成JSON格式
textBox2.Text = strJson;
就得到如下的这一堆数据:
{“Spec”:“10”,“Uplimit”:“15”,“Dnlimit”:“5”,“Max”:“12”,“Min”:“8”,“TestValue”:[{“ItemCode”:“值1”,“Value”:“22”},{“ItemCode”:“值2”,“Value”:“22”},{“ItemCode”:“值3”,“Value”:“22”}]}
- JSON格式的解析
得到数据后下一步就是解析取其中的内容
//解析
Jsondata rejs = JsonConvert.DeserializeObject<Jsondata>(strJson);//反序列化
string spc= rejs.Spec;//实体类1的值直接点出来就行了
//实体类2的值则需要循环遍历
List<string> list = new List<string>();
foreach (TestData item in rejs.TestValue)
{
list.Add(item.ItemCode);
list.Add(item.Value);
}