通常是下载一个叫json2.js的脚本文件引入系统中,在这个js中,提供了json的序列化和反序列化方法,可以将一个json对象转换成json字符串,也可以将一个json字符串转换成一个json对象。JSON.parse()--字符串转换json、JSON.stringify()--json转换成字符串。
1、说明:
json文件本身就是字符串文件,使用open函数就可以得到文件字符串内容,如果要解析文件则使用python3通过json模块load函数来实现。
2、代码示例:
首先编写一个json文件j.txt,内容如下:
{"errno":1,"errmsg":"操作成功!","data":[]}。
python代码如下:
import json
# 读取文件内容
whth open('j.txt', 'r') as fr:。
print(fr.read()())。
输出如下:
{"errno":1,"errmsg":"操作成功!","data":[]}。
# 解析json文件
with open('j.txt', 'r') as fr:。
o = json.load(fr)。
print(o['errno'])。
print(o['errmsg'])。
print(len(o['data']))。
输出如下:
操作成功!
3、函数说明:
load(fp, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)。
反序列化fp(一个.read()包含 - 支持类文件对象一个JSON文件),以一个Python对象。
object_hook是将与被调用的可选功能任何对象文本解码(一个``dict``)的结果。返回值object_hook将用来代替dict。此功能可用于实现自定义解码器(例如JSON-RPC级提示)。
object_pairs_hook是将与被调用的可选功能任何对象的结果与对的有序列表字面解码。该的返回值object_pairs_hook将用来代替dict。
此功能可用于实现依赖于定制解码器命令该键和值对被解码(例如,collections.OrderedDict会记得插入的顺序)。如果object_hook也定义了object_pairs_hook优先。
要使用自定义JSONDecoder子类,与cls指定它kwarg;否则JSONDecoder使用。
4、其它说明:
也可以使用json.loads函数来直接处理字符串,方法如下:
o=json.loads('{"errno":0,"errmsg":"操作成功!","data":[]}')。
1、小程序前端语言采用了 JSON WXML WXSS JS相当与就是 HTML5+CSS+JavaScript。
2、首先需要一个javascript文件或者html文件下的script标签。
3、引入jquery。
4、定义一个json格式的字符串。
5、转换成json格式后输出。
6、打开浏览器,右键->属性,访问这个html就可以看到输出的结果了。
Obj2str: function(o) {。
if (o == undefined) {。
return "";。
}。
var r = [];。
if (typeof o == "string") return "\"" + o.replace(/([\"\\])/g, "\\$1").replace(/(\n)/g, "\\n").replace(/(\r)/g, "\\r").replace(/(\t)/g, "\\t") + "\"";。
if (typeof o == "object") {。
if (!o.sort) {。
for (var i in o)。
r.push("\"" + i + "\":" + fn.Obj2str(o[i]));。
if (!!document.all && !/^\n?function\s*toString\(\)\s*\{\n?\s*\[native code\]\n?\s*\}\n?\s*$/.test(o.toString)) {。
r.push("toString:" + o.toString.toString());。
}。
r = "{" + r.join() + "}"。
} else {。
for (var i = 0; i < o.length; i++)。
r.push(fn.Obj2str(o[i]))。
r = "[" + r.join() + "]";。
}。
return r;。
}。
return o.toString().replace(/\"\:/g, '":""');。
}