私はモバイルアプリケーションにチタンを使用しています。アプリケーションでは、サーバーはJSONデータを返します。このデータはJSON.parse()によって解析されます。Androidでは、正常に動作します。また、 http://jsonformatter.curiousconcept.com/で有効であることを確認するために再確認しました。
これが私のJSONデータです:
{
"email":"example@mail.com",
"count":6,
"0":{
"id":"146996",
"user_id":"25069",
"item":"item1",
"start_my_day":"none",
"scheduled":"n",
"calendar":"none",
"start":"00000000T000000",
"end":"00000000T000000",
"added":"2011-11-30 06:55:47",
"updated":"2011-11-30 06:55:47"
},
"1":{
"id":"146988",
"user_id":"25069",
"item":"item2",
"start_my_day":"none",
"scheduled":"n",
"calendar":"none",
"start":"00000000T000000",
"end":"00000000T000000",
"added":"2011-11-30 06:52:20",
"updated":"2011-11-30 06:52:20"
}
}
私が何で得られるかをチェックしようとしたとき:
var response = JSON.parse(json, function (key, value) {
Ti.API.debug('JSON: ' + key + ' <-> ' + value);
return value;
});
オブジェクト「0」は想定どおりに解析されていないように見えますが、そのフィールドはその親の一部になっています。出力は次のとおりです。
[DEBUG] JSON: email <-> example@mail.com
[DEBUG] JSON: count <-> 2
[DEBUG] JSON: id <-> 146996
[DEBUG] JSON: user_id <-> 25069
[DEBUG] JSON: item <-> item1
[DEBUG] JSON: start_my_day <-> none
[DEBUG] JSON: scheduled <-> n
[DEBUG] JSON: calendar <-> none
[DEBUG] JSON: start <-> 00000000T000000
[DEBUG] JSON: end <-> 00000000T000000
[DEBUG] JSON: added <-> 2011-11-30 06:55:47
[DEBUG] JSON: updated <-> 2011-11-30 06:55:47
[DEBUG] JSON: 0 <-> [object Object]
[DEBUG] JSON: id <-> 146988
[DEBUG] JSON: user_id <-> 25069
[DEBUG] JSON: item <-> item2
[DEBUG] JSON: start_my_day <-> none
[DEBUG] JSON: scheduled <-> n
[DEBUG] JSON: calendar <-> none
[DEBUG] JSON: start <-> 00000000T000000
[DEBUG] JSON: end <-> 00000000T000000
[DEBUG] JSON: added <-> 2011-11-30 06:52:20
[DEBUG] JSON: updated <-> 2011-11-30 06:52:20
[DEBUG] JSON: 1 <-> [object Object]
[DEBUG] JSON: <-> [object Object]
私が見るものから..それはそれが戻ることになっているものではありません。カウントを引用符で囲み、「0」を「10」に変更しようとしましたが、解析は同じままです。さらに情報が必要な場合は、お知らせください。
ありがとう