一:json标准格式:
标准JSON的合法符号:{(左大括号) }(右大括号) "(双引号) :(冒号) ,(逗号) [(左中括号) ](右中括号)
JSON字符串:特殊字符可在字符前面加 \ 或使用 \u 加 4位16进制数来处理
- {"name":"jobs"}
JSON布尔:必须小写的true和false
- {"bool":true}
JSON空:必须小写的null
- {"object":null}
JSON数值:不能使用8/16进制
- {"num":60}
- {"num":-60}
- {"num":6.6666}
- {"num":1e+6}<!-- 1乘10的6次方,e不区分大小写 -->
- {"num":1e-6}<!-- 1乘10的负6次方,e不区分大小写 -->
JSON对象
- {
- "starcraft": {
- "INC": "Blizzard",
- "price": 60
- }
- }
JSON数组
- {
- "person": [
- "jobs",
- 60
- ]
- }
JSON对象数组
- {
- "array": [
- {
- "name": "jobs"
- },
- {
- "name": "bill",
- "age": 60
- },
- {
- "product": "war3",
- "type": "game",
- "popular": true,
- "price": 60
- }
- ]
- }
转载自http://blog.csdn.net/assholeu/article/details/43037373
二、C#将json转为匿名对象或则匿名对象数组
(非常有用)
解决方案 使用 Newtonsoft.Json:
如json数组串:
var ReqDataJson="[
{
"SysNo": "170",
"ItemSysNos": [
"146"
]
},
{
"SysNo": "169",
"ItemSysNos": [
"145"
]
},
{
"SysNo": "168",
"ItemSysNos": [
"144"
]
},
{
"SysNo": "167",
"ItemSysNos": [
"143"
]
}
]"; 创建匿名对象
var reqData = new[] { new { SysNo=0 , ItemSysNos=new[] { 0 } } };
反序列化:
reqData =JsonConvert.DeserializeAnonymousType(ReqDataJson, reqData);