JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。经常在调用C#的WebService接口中,用它作为数据传输的格式。
简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序。这个字符串看起来有点儿古怪(稍后会看到几个示例),但是 JavaScript 很容易解释它,而且 JSON 可以表示比名称/值对更复杂的结构。例如,可以表示数组和复杂的对象,而不仅仅是键和值的简单列表。就是因为这种完全独立于语言的数据格式,所以在系统的前后台被广泛使用。
标准json对象格式
var JsonObj = { "name": "callmeyhz", "age": 12, "phone": 150800 };
标准的json字符串格式
var jsonstr = '{ "name": "callmeyhz", "age": 12, "phone": 150800 }';
json对象和json字符串相互转换
json对象->json字符串
var JsonObj = { "name": "callmeyhz", "age": 12, "phone": 150800 }; var ConverJsonStr = JSON.stringify(JsonObj);
json字符串转为json对象
var ConvoerJsonObj = JSON.parse(ConverJsonStr);
此外,关于两个格式的转换还有其他方式,例如
json字符串转为json对象:eval()、$.parseJSON()、String.parseJSON()(需要引json.js)
json对象转为json字符串:obj.toJSONString(需要引json.js)
接收控制器的json字符串返回值
1.发送简单请求
<script> $.post("ReturnJsonString", function (data) { alert(data); }) </script>
2.控制器接收请求返回结果
public string ReturnJsonString() { List<Student> list = new List<Student>() { new Student() { SID = 1, SName = "callmeYhz", NowDateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") }, new Student() { SID = 2, SName = "callmeYhz2", NowDateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") } }; JavaScriptSerializer serializer = new JavaScriptSerializer(); string str = serializer.Serialize(list); return str; }
3.结果