A. js遍歷輸出json格式數據到HTML
document.getElementById('a').innerHTML=Object.keys(data).rece(function(str,key){
returnstr+'<li>'+key+':'+data[key]+'</li>';
},'');
B. php如何輸出中文json格式字元串
php如何輸出中文json格式字元串
如何對json格式的字元串進行轉換,php提供了兩個函數:
json_encode 對變數進行 JSON 編碼
json_decode 對 JSON 格式的字元串進行編碼
下面看個實例:
$arr = ['a', 'b', 'c'];echo json_encode($arr);
輸出為:
["a","b","c"]
但是,當我們在數組中放入中文的時候,就會出現問題:
$arr = [ '世界', '你好',
];echo json_encode($arr);
輸出的結果為:
["\u4e16\u754c","\u4f60\u597d"]
這個結果顯然不是我們想要的,但是為什麼出現這個呢?
因為當我們的值中包含中文時,php對他進行json編碼時底層會對中文進行unicode編碼,導致結果不可讀,那該怎麼解決呢?
方法一
可以利用 urlencode 和 urldecode 方法繞過這個轉碼為 unicode 的過程,先將中文欄位進行urlencode,然後json_encode,最後再用urldecode處理結果,便可以正常顯示中文。具體代碼如下:
$arr = [ '世界', '你好',
];echo urldecode(json_encode(array_map('urlencode', $arr)));
輸出結果為:
["世界","你好"]
方法二
自PHP5.4版本,官方就已經給Json新增了一個選項: JSON_UNESCAPED_UNICODE。加上這個選項後,就不會自動把中文編碼了。具體代碼如下:
$arr = [ '世界', '你好',
];echo json_encode($arr, JSON_UNESCAPED_UNICODE);
["世界","你好"]
看吧,這才是我們想要的結果 :)
C. 格式化輸出 JSON
JSON.stringify() 是將 JavaScript 對象轉換為 JSON 的規范方法。有許多 JavaScript 框架在內部都使用了 JSON.stringify() ,比如 Express 框架的 res.json() 和 Axios body 序列化。
但是,默認情況下, JSON.stringify() 輸出的 JSON 格式,不帶空格或顏色。在後面,我們將使用一個常用的 npm 包來豐富輸出數據的色彩。
JSON.stringify() 基本用法如下:
可以看到,我們使用 JSON.stringify() 輸出的內容更具可讀性。
你也可以傳入一個 " " 製表符間距,格式化輸出的數據。
JSON.stringify 的第三個參數用於控制間距。正是它提供了漂亮的字元串輸出。
它允許兩種類型的參數: Number 和 String 。
如果 Space 是一個 Number 類型,則表示 JSON.stringify 將在每個鍵之前放置的相應的空格數。可以使用 0 到 10 之間的任意數字作為縮進。
或者,可以使用字元串作為縮進。最多允許10個字元。如果您嘗試傳遞超過10個字元,它將只使用前10個字元。
對於不直接調用 JSON.stringify() 的框架,通常有一個設置 spaces 參數的選項。例如,Express 有一個全局 'json spaces' 選項 ,允許您為所有 res.json() 調用設置 spaces 。
Axios 沒有設置 JSON 格式的 顯式選項 ,但您可以使用 transformRequest 選項 自行處理 JSON 序列化。關鍵語法如下:
Prettyjson 以 YAML 樣式格式化 JSON 數據。Prettyjson 僅在 CLI 上工作,如果將 Prettyjson 輸出作為 HTTP 響應發送,則無法獲得顏色。
下面是使用 Prettyjson 從 Node.js 列印 JSON 的示例:
效果如下:
您應該使用以上這類方法來使你想要突出顯示的數據以提高可讀性。
這里我們額外在說一下 JSON.stringify 的第二個參數 replacer ,我們可以使用它來轉換結果。
它允許兩種類型的參數: Array 和 Function 。
我們為每一項調用一次 function ,你也可以循環每一項,並在每次傳遞時使用函數中定義的邏輯進行操作。
下面是一個示例,我跳過了值不是字元串的屬性。換句話說,我只想顯示值為數字的項。
D. python怎麼把json格式數據輸出為json文件
#讀
file = 'test.json'
fp = open(file, 'r')
dict = json.mp(fp.read())
fp.close()
#寫
testDict = {'a':1,'b':2}
file = 'my.json'
fp = open(file,'w+')
fp.write(json.loads(testDict))
fp.close()
E. 如何把json結果輸出
首先,例如json數據如下書寫:
[html] view plain
{"head": [
{"text":"廣州","id":"廣州","pid":"廣東陪啟省"},
{"text":"鄭州","id":"鄭州","pid":"河南省"}],
}
如上,倘若想將id和pid數據依次取出,就只能用循環,代碼如下升虧:
[html] view plain
var head_id = "";
var head_pid = "";
for (var i = 0; i < data.head.length; i++) {
head_id += data.head[i].id + " "; //循環輸出json數據
head_pid += data.head[i].pid + " ";
}
$("#city").append("city:" + head_id);
$("#city").append("province:" + head_pid);
這樣,將會在data之後,依次輸出json中的數據。
若想有選擇性的輸出時,需要添加if條件,代碼如下:
[html] view plain
for (var i = 0; i < data.head.length; i++) {
if (data.head[i].pid == "吵亂神河南省") { //有選擇的輸出json數據
head_pid += data.head[i].pid;
}
}
F. js怎麼把mongodb裡面的數據以json形式輸出
js把mongodb裡面的數據以json形式輸出需要依賴外部js:
1、db.js從db獲取數據
var getUsersByCity = function(city, cb) {
db.users.find({'city': city}).toArray(cb);
}
2、輸出json格式的server.js
app.post("/get_users_list", function(req, res) {
var body = req.body;
db.getUsersByCity(body.city, function(err, data){
if (err) {
console.log(err);
return res(err);
} else {
console.log(data); //這里輸出json格式數據
return res.json(data);
}
});
});
G. 前台頁面如何輸出json數據呢
回調函數jsonto就是一個json數組,直接在回調函數裡面解析json,然後用js控制讓它在什麼地方顯示;
參考實例如下:
$(function() {
$("#btn").click(function() {
$.ajax({
url : "import.jsp",
dataType : "json",
type : "post",
timeout : 5000,
success : showresult,
error : function() {
alert("error");
}
});
});
});
function showresult(jsonto) {
alert(jsonto);
}
<input type="button" value="數據導入" id="btn"/>
H. 如何讓golang 把變數解析為json,並輸出為文件。
1. 不管golang從json文件讀取數據,還是寫數據到json配置文件,都需要encoding/json包,如下回:import (
"encoding/json"
)
2. 編碼JSON,輸答出數據到json文件,有方法如下:
json.Marshal(xxx) 和 json.MarshalIndent(c, "", " ") ,兩個方法的區別是,MarshalIndent(c, "", " ")方法按照json格式 縮進,也就是美化了的 可讀性很高的 帶縮進的 Json數據。所以只要是json格式數據,當然用第二個方法啦。
3. 具體代碼如下:
c := make(map[string]interface{})
c["name"] = "Gopher"
c["title"] = "programmer"
c["contact"] = map[string]interface{}{
"home": "415.333.3333",
"cell": "415.555.5555",