【03】json使用
【03】json使用
把 JSON 文本轉換為 JavaScript 對象
JSON 最常見的用法之一,是從 web 服務器上讀取 JSON 數據(作為文件或作為 HttpRequest),將 JSON 數據轉換為 JavaScript 對象,然后在網頁中使用該數據。為了更簡單地為您講解,我們使用字符串作為輸入進行演示(而不是文件)。
JSON 實例 - 來自字符串的對象(字符串轉JavaScript對象)
創建包含 JSON 語法的 JavaScript 字符串:
由于 JSON 語法是 JavaScript 語法的子集,JavaScript 函數 eval() 可用于將 JSON 文本轉換為 JavaScript 對象。
eval() 函數使用的是 JavaScript 編譯器,可解析 JSON 文本,然后生成 JavaScript 對象。必須把文本包圍在括號中,這樣才能避免語法錯誤:
(魔芋:也就是說eval() 類似瀏覽器的編譯器,可以編譯解析JavaScript)
或者,使用 JavaScript 內置函數 JSON.parse() 將字符串轉換為 JavaScript 對象:
在網頁中使用 JavaScript 對象:
例子
?
?
JSON數據格式和Serialize數據格式的異同和使用
相同的: 1,都是把其他數據類型轉換成一個可以傳輸的字符串 2,都是結構性數據 不同的: 1,Serialize序列化的數據格式保存數據原有類型 2,JSON數據格式要更簡潔,相比Serialize序列化之后的數據格式 使用場景: 1,JSON適合數據量大,不要求保留原有數據類型的情況下使用 2,Serialize適合存儲帶有加密方式的數據稱,防止數據被中途截取反序列化破解。例子:
<?phpfunction createHtmlTag($tag =""){ return"<h1>$tag</h1><br/>"; }createHtmlTag("JSON和Serialize對比"); $member = array("username","age"); var_dump($member);?>?
例子:
? <?php header("Content-type:text/html;charset=utf-8"); function createHtmlTag($tag =""){ echo "<h1>$tag</h1><br/>"; }createHtmlTag("JSON和Serialize對比"); $member = array("username","age"); var_dump($member); $jsonObj = json_encode($member); $serializeObj = serialize($member); createHtmlTag($jsonObj); createHtmlTag($serializeObj);?>?
?
JSON 解析器
提示:eval() 函數可編譯并執行任何 JavaScript 代碼。這隱藏了一個潛在的安全問題。使用 JSON 解析器將 JSON 轉換為 JavaScript 對象是更安全的做法。JSON 解析器只能識別 JSON 文本,而不會編譯腳本。在瀏覽器中,這提供了原生的 JSON 支持,而且 JSON 解析器的速度更快。較新的瀏覽器和最新的 ECMAScript (JavaScript) 標準中均包含了原生的對 JSON 的支持。
|
|
?
對于較老的瀏覽器,可使用 JavaScript 庫: https://github.com/douglascrockford/JSON-js
JSON 格式最初是由 Douglas Crockford 制定的。
?
?
?
轉載于:https://www.cnblogs.com/moyuling/p/5039053.html
總結
以上是生活随笔為你收集整理的【03】json使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: QR二维码(转)
- 下一篇: Junit单元测试学习笔记一