Titanium mobile のJSON.parseではエラーが出力される。
jsonengineでeqしたJSONデータになぜか"[","]"が含まれていた。
実際問題はないと思うけれど、Titanium mobile のJSON.parseではエラーはくので、取得したら括弧を消すと問題なく処理される。
xhr4.responseTextの内容がこれ。
[{"ImageLURL":"http://ecx.images-amazon.com/images/I/514geJcznIL.jpg", "ISBN":4048704869, "BookAuthor":"%E4%BC%8F%E8%A6%8B %E3%81%A4%E3%81%8B%E3%81%95", "Title":"%E4%BF%BA%E3%81%AE%E5%A6%B9%E3%81%8C%E3%81%93%E3%82%93%E3%81%AA%E3%81%AB%E5%8F%AF%E6%84%9B%E3%81%84%E3%82%8F%E3%81%91%E3%81%8C%E3%81%AA%E3%81%84%E3%80%888%E3%80%89 (%E9%9B%BB%E6%92%83%E6%96%87%E5%BA%AB)", "BookManufacturer":"%E3%82%A2%E3%82%B9%E3%82%AD%E3%83%BC%E3%83%A1%E3%83%87%E3%82%A3%E3%82%A2%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%B9", "ImageMURL":"http://ecx.images-amazon.com/images/I/514geJcznIL._SL160_.jpg", "_docId":"CQZbYqlfiK8ocg1r3jhzrjvFJcq3SNxH", "_updatedAt":1307166040619, "_createdAt":1307166040619}]
Katsuraghi = { KakkoIrane: function(inpuString){ //括弧外すだけなんだけれど、あまりに稚拙な気がする。 var SplitStrings=inpuString; var SplitStrings2 = SplitStrings.split("["); var SplitStrings3 = SplitStrings2[1].split("]"); return SplitStrings3[0]; }, decode: function(input){ return Titanium.Network.decodeURIComponent(input); } }; var ISBN= "4048704869"; var xhr4 = Titanium.Network.createHTTPClient(); var ConvertGoogleAppsEngineURL ="http://(アプリ名).appspot.com/_je/BookList?cond=ISBN.eq." +ISBN; xhr4.open("GET",ConvertGoogleAppsEngineURL); xhr4.onload = function(){ var json = JSON.parse(Katsuraghi.KakkoIrane(xhr4.responseText)); if(json.redirect != null){ Titanium.Platform.openURL(json.redirect); }else{ //書籍名 Katsuraghi.decode(json.Title); //俺の妹がこんなに可愛いわけがない〈8〉 (電撃文庫) //ISBN json.ISBN; //という感じで抽出される。 };