首页 > 代码库 > tasker中js解析json
tasker中js解析json
{
"translation": [
"爱"
],
"basic": {
"us-phonetic": "l?v",
"phonetic": "l?v",
"uk-phonetic": "l?v",
"explains": [
"n. 恋爱;亲爱的;酷爱;喜爱的事物;爱情,爱意;疼爱;热爱;爱人,所爱之物",
"v. 爱,热爱;爱戴;赞美,称赞;喜爱;喜好;喜欢;爱慕",
"n. (英)洛夫(人名)"
]
},
"query": "love",
"errorCode": 0,
"web": [
{
"value": [
"爱情",
"爱",
"LOVE (滨崎步专辑)"
],
"key": "Love"
},
{
"value": [
"无尽的爱",
"蓝色生死恋",
"不了情"
],
"key": "Endless Love"
},
{
"value": [
"Love Shuffle",
"ラブシャッフル",
"?? ??"
],
"key": "Love Shuffle"
}
]
}
/*提取有道api返回json值实例
首先有tasker把有道查询结果用tasker读取到%zong中,也可直接用js读,或者直接用js从网站上获取 以love为例提取到以上结果*/
//把结果转对象
var user =eval("("+zong+")") ;
//tasker全局变量的读取
var imageurl = JSON.parse(global(‘HTTPD‘)).data.children[0].data.url;
//定义函数ab() 判断取回是否包含对象m,若不包含对象则,返回"空"
function ab(m){
var m;
if(!m){m="空"};
return (m);
};
/*提取json各种对象到tasker变量中
注意json中,[]表示数组,{}表示对象。所以提取数组用Xx.[数字] 提取对象用Xxx.bbb 当然提取全部数组也可以用“.” 只是若数组中有对象,返回[object objct] */
var trans1=ab(user.translation[0]) ;//翻译结果是数组,数组里有一组数据
var spk1=ab(user.basic.phonetic);
var exp1= ab(user.basic.explains[0]);//释义也是一组数据的数组
var err1= ab(user.errorCode);
var net= ab(user.web);//web是多个数组,里面有好几组对象
var web1="\n【网络】\n";
//用for提取出web里所有对象值
for(var i in net)
{web1=web1+net[i].key+"?"+ net[i].value+"\n"};
tasker中js解析json