なぜ、AppceleratorのチタンMobileは、このJSONを解析しないのだろうか?
-
25-09-2019 - |
質問
私はチタンアプリケーションからアクセスされたWebサービスを持っているWindows 7の下のAndroidに対して1.4.1を使用して、サービスはこのようにJSONを返します:
{
"VFPData": {
"rows": [
{
"address1": "Orion House",
"address2": "Orion Way",
"address3": "Kettering",
"address4": "Northants",
"comp_name": "Orion Vehicles Leasing",
"contid": 1,
"email": "",
"email2": "",
"fax": "",
"firstname": "David John",
"lastname": "Sear",
"mobile": "",
"phone1": "",
"phone2": "",
"postcode": "NN15 6PE"
},
{
"address1": "Unit 20 Acton Business Park",
"address2": "Acton Lane",
"address3": "London",
"address4": "",
"comp_name": "Orion Vehicles Limited",
"contid": 2,
"email": "Mark@ovl.co.uk",
"email2": "",
"fax": "",
"firstname": "Mark",
"lastname": "Johnson",
"mobile": "0888 566 67879",
"phone1": "0208 209 1359",
"phone2": "",
"postcode": "NW10 7NH"
}
]
}
}
しかしevalのかJSON.parseのない組み合わせが有効な結果を返しません - たとえばます:
var contacts = JSON.parse(this.responseText);
alert(contacts.length);
それはそれで何も警告ダイアログが表示されます。私は
できる限りチタンHTTPClientの呼び出しが正常に動作していますTi.debug(this.responseText)
何の問題もなく、
JSONは、例えばjsonlint.comでは、同様にOKを検証する。
解決
JSONは罰金を見て、罰金を解析し...しかし、ある行ます:
alert(contacts.length);
リードがあなたはそれが動作していないと信じてすることを一部だけ?あなたがオブジェクト(VFPData)の長さを取得することはできませんので...あなたは、有効な解析が起こったかどうか未定義/ヌルを取得します。より良いテストがあります:
alert(contacts.VFPData.rows.length);
あなたが行を知っているので、...配列です。それともます:
alert(contacts);
それはオブジェクト(解析された場合)、またはnullです報告しなければならない。/それ以外の場合は未定義ます。
所属していません StackOverflow