|
本帖最后由 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);
复制代码
|
|