hixon 发表于 2020-7-7 19:18:10

如何解析JSON

本帖最后由 hixon 于 2020-7-7 20:02 编辑

ExpOS 1.3.4版本开始增加了对JSON的解析,下面举例说一下使用方法

假如我们通过访问http控件访问网络,服务器返回下面格式的JSON字符串{
"interval": "1",
"ids": [
    "8QDX8GCQYYW7TN9KV3JJ",
    "Q8DX8GCQYYW7TN9KV3JQ"
],
"os": {
    "ver": "1.3.2",
    "url": "http://cloud.wareexpress.com/ota/132/os"
},
"app": {
    "md5": "b299aa517a8da16db1ed3efab95592fd",
    "url": "http://cloud.wareexpress.com/ota/132-app-updated/ota_test132-updated.app"
}
}
如何读取里面每个字段的内容呢?我们可以使用util的jsonToJsObject方法把JSON转换成JS对象,代码如下:var jsonString = ui.main.http.read(); // http控件读取到的内容是上面的json内容
var obj = util.jsonToJsObject(jsonString); // 转换成JS对象
var interval = obj.interval; // 返回"1"
var ids = obj.ids; // 返回数组["8QDX8GCQYYW7TN9KV3JJ", "Q8DX8GCQYYW7TN9KV3JQ"]
var os_ver = obj.os.ver; // 返回"1.3.2"
var os_url = obj.os.url; // 返回"http://cloud.wareexpress.com/ota/132/os"
var app_md5 = obj.app.md5; // 返回"b299aa517a8da16db1ed3efab95592fd"
var app_url = obj.app.url; // 返回"http://cloud.wareexpress.com/ota/132-app-updated/ota_test132-updated.app"
反过来,如果我们已经有一个JS对象,怎么把它转换成JSON字符串,返回给服务器呢?假如我们定义了一个JS对象
var device = {
    id: "Q8DX8GCQYYW7TN9KV3JQ",
    model: "Pi1",
    os_ver: "1.3.4"
};
可以使用util的objectToJson方法转换对象为JSON字符串, 如var json = util.objectToJson(device);
ui.main.http.post(url, json);







页: [1]
查看完整版本: 如何解析JSON