前后臺資料互動肯定是很多人都很頭疼的問題
尤其是前后端傳值的問題,要使用json規范...
[catalog]
一、認識 JSON(上)
??1. 合法的 json 示例
??2. 非法的 json 示例
??3. json 與 js 物件的關系
??4. json 與 js 物件相互轉化
二、前后臺傳值(下)
??1. 請求 - 回應的方式有什么
??2. 為什么發送請求時要傳遞引數
??3. get 請求引數遇到中文為什么會亂碼
??4. 中文亂碼怎么解決
??5. 查詢自己電腦系統,瀏覽器,當前專案,服務器所使用的的字符集
- 首先要弄明白JSON到底是什么
JSON(JavaScript Object Notation)翻譯過來是:JS 物件簡譜
這么看 json 和 js物件之間肯定存在著某些不為人知的關系,看長相也能夠看出來,都有 js 兩個字母
不過不急,先來看看官方定義,他和 js物件的關系放在下面講解,
Json 是一種輕量級的資料交換格式,
采用完全獨立于編程語言的文本格式來存盤和表示資料,簡潔和清晰的層次結構使得 JSON 成為理想的資料交換語言,
- 使用json的優點
易于人閱讀和撰寫,同時也易于機器決議和生成,并有效地提升網路傳輸效率,- json的構成
JSON是一個序列化的物件或陣列
由六個構造字符構成基本框架格式
| 英文含義 | 符號 | 中文含義 |
|---|---|---|
| begin-object | { | 左大括號 – 物件開始符 |
| begin-array | [ | 左方括號 – 陣列開始符 |
| name-separator | : | 冒號 – 鍵值分隔符 |
| value-separator | , | 逗號 – 鍵值對分隔符 |
| end-array | ] | 右方括號 – 陣列結束符 |
| end-object | } | 右大括號 – 物件結束符 |
- 合法的 json示例
json的值可以是物件、陣列、數字、字串或者三個字面值(false、null、true)中的一個,值中的字面值中的英文必須使用小寫,***后面有解釋
{"name": "John Doe", "age": 18, "address": {"country" : "china", "zip-code": "10000"}}
{"a": 1, "b": [1, 2, 3]}
[1, 2, "3", {"a": 4}]
3.14
"plain_text"
- 上面的觀看不方便,看格式化后的 json

- 非法的 json 示例

- 認識json之后可以講json與js物件的關系了
JSON 實際上是 JavaScript 的一個子集,所以JSON 的資料格式和 JavaScript 是對應的,JSON 就是 JS 物件的字串表示法,它使用文本表示一個 JS 物件的資訊,本質是一個字串,
json number → js number
json boolean → js boolean — 所以 false, true, null 必須要小寫
json null → js null
json string → js string
json array ? → js array [ ]
json object → js object { }
var obj = {a: 'Hello', b: 'World'}; ---這是一個物件,注意鍵名也是可以使用引號包裹的
var json = '{"a": "Hello", "b": "World"}'; ---這是一個 JSON 字串,本質是一個字串
- 既然json是一個字串還是js物件的子集,那么肯定可以和js物件互轉
要實作從JSON字串轉換為JS物件,使用 JSON.parse() 方法:
var obj = JSON.parse('{"a": "Hello", "b": "World"}'); //結果是 {a: 'Hello', b: 'World'}
要實作從JS物件轉換為JSON字串,使用 JSON.stringify() 方法:
var json = JSON.stringify({a: 'Hello', b: 'World'}); //結果是 '{"a": "Hello", "b": "World"}'
至此,應該已經很清楚的了解什么是JSON了,下面就開始說一說前后臺傳值的問題
本想放在一篇內寫完的,但由于時間有限,沒能夠驗證清楚前后臺編碼到底應用什么樣的規則,這篇文章就先擱淺到這,等驗證清楚后把后續發出來,

to be continued...
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/195258.html
標籤:其他
上一篇:WEB-DAY03
