文章目录
1. JSON 格式
实体类格式:
public class Student {
public string name {get; set;}
public int age {get; set;}
}
public class Classs {
public string teacher {get; set;}
public List<Student> students {get; set;}
}
JSON格式(格式化):
{
"teacher": "xxxxx",
"students": [
{
"name": "Rufus",
"age": "1"
},
{
"name": "Marty",
"age": "2"
}
]
}
JSON字符串(序列化)
"{\"teacher\":\"xxxxx\",\"students\":[{\"name\":\"Rufus\",\"age\":\"1\"},{\"name\":\"Marty\",\"age\":\"2\"}]}"
术语名称:
JSON格式化:就是将JSON数据转换成易于阅读的格式的过程,整体的阅读会更加美观易阅读。
JSON序列化:将一个对象或数据结构转换为JSON格式的字符串的过程.
JSON反序列化:将JSON格式的数据转换为程序中的对象或数据结构的过程.
应用:
namespace TestOfPractice {
public class Program {
public static void Main(string[] args) {
string requestBodyStr = "{\t\"teacher\":\"xxxxx\",\t\"students\":[\t\t{\"name\":\"Rufus\",\"age\":\"1\"},\t\t{\"name\":\"Marty\",\"age\":\"2\"}\t]}";
Classs request = JsonConvert.DeserializeObject<Classs>(requestBodyStr); // 反序列化
Console.WriteLine(request);
string s = JsonConvert.SerializeObject(request); // 序列化
Console.WriteLine(s);
}
}
public class Student {
public string name {get; set;}
public int age {get; set;}
}
public class Classs {
public string teacher {get; set;}
public List<Student> students {get; set;}
}
}
/*
TestOfPractice.Classs
{"teacher":"xxxxx","students":[{"name":"Rufus","age":1},{"name":"Marty","age":2}]}
*/
2. 细节
1. local.settings.json当中设置的一些环境变量键值对如果需要后期被获取使用,其格式必须为序列化的字符串样式不能继续按照JSON格式写,
{
"Values": {
"requestBodyStr": "{\t\"teacher\":\"xxxxx\",\t\"students\":[\t\t{\"name\":\"Rufus\",\"age\":\"1\"},\t\t{\"name\":\"Marty\",\"age\":\"2\"}\t]}"
}
}
-- Environment.GetEnvironmentVariable("requestBodyStr");
-- 系统获取环境变量参数设置时其对应的值应该设置为序列化字符串的样式,不能按照Json数据格式写其JSon格式化
的数据.