Aje*_*rya 1 javascript json titanium appcelerator
我被这个问题困住了,我正在调用一个返回 json 响应的 webService。
现在我想从那个响应中获取一个特定的值,但是在互联网上搜索并挣扎了很多之后无法修复它。
这是我的代码:
var xhr = Titanium.Network.createHTTPClient({
onload : function(e) {
Ti.API.info("Received text: " + this.responseText);
alert('success');
},
// function called when an error occurs, including a timeout
onerror : function(e) {
Ti.API.debug(e.error);
alert('error');
},
timeout : 5000
});
var data = {"data":"system.connect"};
xhr.open("POST","http://mytesturl.net/services/json");
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
xhr.send("method=system.connect");
Run Code Online (Sandbox Code Playgroud)
响应是这样的:
{"#error":false,"#data":{"sessid":"c4likn6vg33hngbpmobisrsbpcjjmf39","user":{"uid":0,"hostname":"102.119.85.120","roles":{"1":"anonymous user"},"session":"","cache":0}},"#response_code":200}
Run Code Online (Sandbox Code Playgroud)
从上面的响应中我想获取sessid值。什么是正确的方法?
以下内容可以在jsfiddle.net上查看和测试。
// Given a string of JSON called responseText
var responseText = '{"#error":false,"#data":{"sessid":"c4likn6vg33hngbpmobisrsbpcjjmf39","user":{"uid":0,"hostname":"102.119.85.120","roles":{"1":"anonymous user"},"session":"","cache":0}},"#response_code":200}';
// You can parse it to an object using JSON.parse
var responseObj = JSON.parse(responseText);
// And then access the properties as with any object
console.log(responseObj ["#data"]["sessid"]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3463 次 |
| 最近记录: |