JSONのパースについて

246 views
Skip to first unread message

村中郷志

unread,
Aug 16, 2014, 8:12:37 PM8/16/14
to android-g...@googlegroups.com
JSONObject jsRoot = new JSONObject(json);

上記でエラーになった為、調べたところ、JSONデータが以下のように { で始まり、 } で終わってなく、
これが原因だと思われます。

駅データ

if(typeof(xml)=='undefined') xml = {};
xml.data = {"line":[{"line_cd":11311,"line_name":"JR中央本線(東京~塩尻)"} 

~~~~

{"line_cd":99407,"line_name":"上高地線"}]}
if(typeof(xml.onload)=='function') xml.onload(xml.data);

上記のようなJSONデータから、 { で始まり、 } で終わっている部分だけを抜き出す方法はあるのでしょうか?
または、別のもっとよい方法があるのでしょうか?

どなたか、詳しい方がいらっしゃましたら、ご教授願います。

Shigeo Mutoh

unread,
Aug 17, 2014, 3:08:32 AM8/17/14
to android-g...@googlegroups.com
武藤です。

それはJSONというより、ただのJavascriptですね。
Javascriptで受け取ったなら、evalすればxmlに入ってるというおせっかい
をやってくれてます。

WebViewを使って、Javascriptを<script>で囲ってloadしてから
xmlを取り出すって手もなくはないと思いますが、めんどくさいかと。

そのJavascript文字列を加工する方が楽だと思います。
道具はStringのAPIで。splitかreplaceとか使ってなんとかなると思います。

では。

村中郷志

unread,
Aug 17, 2014, 3:43:15 AM8/17/14
to android-g...@googlegroups.com

武藤さま

回答ありがとうございますm(__)m

split やreplace を使ってよいのですね。そのようにしようかと思いましたが、もっと良い方法があるのでは?と考えてしまいました。

ありがとうございます。

2014/08/17 16:08 "Shigeo Mutoh" <tmh...@gmail.com>:
--
このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
このトピックの登録を解除するには https://groups.google.com/d/topic/android-group-japan/Y32ERzTRUaE/unsubscribe にアクセスしてください。
このグループから退会し、グループのすべてのトピックの登録を解除するには android-group-japan+unsub...@googlegroups.com にメールを送信してください。
このグループに投稿するには、android-group-ja...@googlegroups.com にメールを送信してください。
http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
その他のオプションについては、https://groups.google.com/d/optout にアクセスしてください。
Reply all
Reply to author
Forward
0 new messages