json格式
在JSON中,有兩種結構:對象和數組。
? ? 1. 一個對象以“{”(左括號)開始,“}”(右括號)結束。每個“名稱”后跟一個“:”(冒號);“‘名稱/值’ 對”之間運用 “,”(逗號)分隔。 名稱用引號括起來;值如果是字符串則必須用括號,數值型則不須要。例如:
? ? var o={"xlid":"cxh","xldigitid":123456,"topscore":2000,"topplaytime":"2009-08-20"};
? ? 2. 數組是值(value)的有序集合。一個數組以“[”(左中括號)開始,“]”(右中括號)結束。值之間運用 “,”(逗號)分隔。
前端解析json
springmvc想要返回json類型數據時,需要在方法或者返回參數上加上@ResponseBody
加上responsebody后,會將方法返回的值加入到HTTP response body中
在數據傳輸流程中,json是以文本,即字符串的形式傳遞的,而JS操作的是JSON對象,所以,JSON對象和JSON字符串之間的相互轉換是關鍵。
注意:如果前端ajax設置返回的類型為text,那么返回的json會以字符串格式返回,如果設置為json,那么json字符串會自動被轉化為json對象返回,下面案例都是設置返回類型為json
如果想要手動將json字符串轉化為json對象,有以下方法
var obj = eval('(' + str + ')');????? ,str為json字符串
var obj = JSON.parse(str);
var last=obj.toJSONString(); //將JSON對象轉化為JSON字符
解析json的幾種案例
如果返回的是String,那么前端可直接接收到string類型的數據
如果返回的是對象類型的數據,那么前端接收到的是一個json對象,如果要取他的屬性值,可以直接通過對象名.屬性名獲取。
例,返回一個user對象,前端獲得的是
如果返回的是list集合類型的數據,那么前端接收到的是一個json數組,如果要獲取他的值,通過數組名【下標】.屬性名就可獲取
例,返回一個List<User>對象,前端獲取的是
如果返回的是map類型的數據,那么前端接收的是一個大的json對象,如果要獲取他的值,通過對象名.屬性名會獲取到大的對象中的屬性值對應的小的對象,通過對象名.屬性名.屬性名可直接獲取到小對象中的屬性值
例,返回一個map對象,前端獲取的是
不要忘記若要返回json數據,需要在配置文件中配置<mvc:annotation-driven/>