① 如何優化很長的jsON數據
現在主流的網路請求中都採用JSON作為其數據交互格式,這主要是因為JSON有以下優勢:
但如果在開發過程中,把很長很大的JSON數據在前後端傳輸,那就說明設計工作沒做好,應該盡量避免這種數據傳輸,但也可以從下面幾個方面進行下優化:
在 Skylake 處理器上,各種解析器解析同一個大數據量的JSON文件的速度(以 GB/s 為單位)如下所示:
我們知道,JSON作為一種輕量級的數據交換格式,現在被廣泛應用,特別是在API層,返回數據格式基本上都是JSON。但是, JSON字元串如果過長,那在網路傳輸中也存在耗時的 ,站在性能角度我們需要合理優化JSON。
1、伺服器端 開啟GZip壓縮
主流的服務端都支持GZip壓縮,對於一般的純文本內容GZip壓縮率在35%以上,這樣做的好處也很明顯:
2、 鍵名縮短
對於結果集而言,數據都是查詢循環輸出的,所以當我們把鍵名縮短也變相壓縮了JSON文本長度。比如原本的 {"name":"張三"} 我們可以寫為 {"a":"張三"}
3、JSON中的 中文避免被轉為Unicode編碼
現在也有不少人喜歡將JSON中的漢字轉為Unicode編碼,此時JSON文本內容就會變得很長,如果避免漢字轉碼,可以控制文本長度。
1,開啟gzip,壓縮率很高,即便是很長的文本,在網路中傳輸量也很小 。
2,不建議分次請求,除非是業務需要。連接次數過多,加大了並發的壓力。
3,提醒用戶點擊的做法可以通過按鈕反饋或loading條來做。
4,如果有可能,考慮提前預讀你可以這樣,在一個隱藏的 iframe 裡面請求伺服器,返回值是這樣的: <script> parent.notifyDataArrive(YOURS_JSON_DATA); </script>
② js怎麼處理json數據面
JSON(javaScript Object Notation) 是一種輕量級的數據交換格式。它基於ECMAScript的一個子集。 JSON採用完全獨立於語言的文本格式,但是也使用了類似於C語言家族的習慣(包括C、C++、C#、Java、JavaScript、Perl、Python等)。這些特性使JSON成為理想的數據交換語言。 易於人閱讀和編寫,同時也易於機器解析和生成(一般用於提升網路傳輸速率)。
JSON的規則很簡單: 對象是一個無序的「『名稱/值'對」集合。一個對象以「{」(左括弧)開始,「}」(右括弧)結束。每個「名稱」後跟一個「:」(冒號);「『名稱/值' 對」之間使用「,」(逗號)分隔。具體細節參考http://www.json.org/json-zh.html
舉個簡答的例子如圖:
這樣就可以處理啦。
③ 請問json如何追加內容,並且修改,和刪除操作。急~
json追加內容並且修改和刪除操作示例:
1、增加:
myObj.user='我是新增的用戶-小明';
x +="<h1>增加後的數據</h1>"forin();
2、修改:
myObj.name= "我的網站";
x +="<h1>修改後的數據</h1>"forin();
3、刪除:
delete myObj.sites;
x +="<h1>刪除後的數據</h1>"forin();
(3)多行json數據怎麼處理擴展閱讀
JS動態動態創建JSON數據字元串,並且可以刪除添加修改
<script type="text/javascript">
//添加或者修改json數據
function setJson(jsonStr,name,value)
{
if(!jsonStr)jsonStr="{}";
var jsonObj = JSON.parse(jsonStr);
jsonObj[name] = value;
return JSON.stringify(jsonObj)
}
//刪除數據
function deleteJson(jsonStr,name)
{
if(!jsonStr)return null;
var jsonObj = JSON.parse(jsonStr);
delete jsonObj[name];
return JSON.stringify(jsonObj)
}
//生成測試
var myjsonStr = setJson(null,"name","aaa");
alert(myjsonStr);
//添加測試
myjsonStr = setJson(myjsonStr,"age",18);
alert(myjsonStr);
//修改測試
myjsonStr = setJson(myjsonStr,"age",20);
alert(myjsonStr);
//刪除測試
myjsonStr = deleteJson(myjsonStr,"age");
alert(myjsonStr);
</script>
④ Python爬蟲(七)數據處理方法之JSON
JSON 指的是 JavaScript 對象表示法(JavaScript Object Notation),是輕量級的文本數據交換格式,且具有自我描述性,更易理解。
JSON看起來像python類型(列表,字典)的字元串。
在之前的文章中,我們說到了怎麼用response的方法,獲取到網頁正確解碼後的字元串。如果還有不懂的,可以先閱讀 Python爬蟲(三)Requests庫 。接下來以有道翻譯為例子,說說怎麼通過網頁解碼後的字元串,提取到翻譯結果。
再結合上述有道翻譯的例子,得到字典類型的返回結果,並提取出來翻譯結果。
將上述例子的dict_json換成str字元串,再寫入文本中。
執行完上述的程序,會得到一個fanyi.txt的文件,其結果如下:{"type": "ZH_CN2EN", "errorCode": 0, "elapsedTime": 1, "translateResult": [[{"src": "\u4eba\u751f\u82e6\u77ed\uff0c\u6211\u7528python", "tgt": "Life is too short, I use python"}]]}。這樣子的一份文檔,中文部分顯示的是二進制,且格式非常不利於閱讀,這並不是我們想要的結果。好在json.mps()為我們提供的兩個方法,以幫助我們更好閱讀文檔。
1.ensure_ascii,能夠讓中文顯示成中文;
2.indent,能夠讓下一行在第一行的基礎上空格。
其用法如下: