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",