C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: Android JSON取得について


(過去ログ 112 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■66402 / inTopicNo.1)  Android JSON取得について
  
□投稿者/ ぼぼ (1回)-(2013/04/21(Sun) 12:57:28)

分類:[Java] 

こんにちは。Androidアプリを作成してます。初心者です。

HTTP通信をし、以下のようなデータをAndroidアプリ側で取得しています。
{"data1":"ITEM01;99.99 ;99.99;99.99;9999,ITEM02;99.99 ;99.99;99.99;9999,ITEM03;99.99 ;99.99;99.99;9999,ITEM04;99.99 ;99.99;99.99;9999,ITEM05;99.99 ;99.99;99.99;9999,ITEM06;99.99 ;99.99;99.99;9999,ITEM07;99.99 ;99.99;99.99;9999,ITEM08;99.99 ;99.99;99.99;9999,ITEM09;99.99 ;99.99;99.99;9999,ITEM10;99.99 ;99.99;99.99;9999","message":null}

作法に乗っ取り、このようにパースしているのですが、エラーになります。HTTPリクエストは正常に取得できています。
JSONObject data = new JSONObject(json.toString());
JSONObject data1 = data.getJSONObject("data1");
String[] dt = data1.toString().split(",");
for(String d : dt){
 String[] r = d.split(";");
 System.out.println(r[0+r[1]+r[2]+r[3]+r[4]);
}

何が問題なのでしょうか?
お分かりになる方いましたら、よろしくお願いします。
引用返信 編集キー/
■66404 / inTopicNo.2)  Re[1]: Android JSON取得について
□投稿者/ しま (7回)-(2013/04/21(Sun) 16:07:35)
No66402 (ぼぼ さん) に返信
> こんにちは。Androidアプリを作成してます。初心者です。
> HTTP通信をし、以下のようなデータをAndroidアプリ側で取得しています。
{"data1":"ITEM01;99.99 ;99.99;99.99;9999,ITEM02;99.99 ;99.99;99.99;9999,ITEM03;99.99 ;99.99;99.99;9999,ITEM04;99.99 ;99.99;99.99;9999,ITEM05;99.99 ;99.99;99.99;9999,ITEM06;99.99 ;99.99;99.99;9999,ITEM07;99.99 ;99.99;99.99;9999,ITEM08;99.99 ;99.99;99.99;9999,ITEM09;99.99 ;99.99;99.99;9999,ITEM10;99.99 ;99.99;99.99;9999","message":null}
> 作法に乗っ取り、このようにパースしているのですが、エラーになります。HTTPリクエストは正常に取得できています。
> JSONObject data = new JSONObject(json.toString());
> JSONObject data1 = data.getJSONObject("data1");
> String[] dt = data1.toString().split(",");
> for(String d : dt){
>  String[] r = d.split(";");
>  System.out.println(r[0+r[1]+r[2]+r[3]+r[4]);
> }
>
> 何が問題なのでしょうか?
> お分かりになる方いましたら、よろしくお願いします。

どのようなエラーなのか(例えば、コンパイルエラーなのか実行時エラーなのか)も書いていなければ、どの行でエラーが出るのかも
書いていないので、確実に分るエラーを示します。
>  System.out.println(r[0+r[1]+r[2]+r[3]+r[4]);
r[0]+ でなく r[0+ がエラーでしょう。

JSON形式を使うのなら外側だけでなく、内側(ITEMx; 以降の繰返し)も JSONObject の配列にしてしまう方が後で操作し易い様な気がしますけど。
引用返信 編集キー/
■66407 / inTopicNo.3)  Re[2]: Android JSON取得について
□投稿者/ ぼぼ (3回)-(2013/04/22(Mon) 02:33:02)
No66404 (しま さん) に返信

ありがとうございます。

>>作法に乗っ取り、このようにパースしているのですが、エラーになります。HTTPリクエストは正常に取得できています。


HTTPリクエストの取得までは正常動作を確認しています。
ただ、このJSONObject data1 = data.getJSONObject("data1");でパースエラーになってExceptionに行ってしまいます。
(ADTはExceptionがはかれないので、具体的に確認できません)

ただ、助言頂いた内容から、わざわざJSON形式にこだわる事も無く、data1の内容をhtml/textのcontentTypeをサーバからレスポンスする事で
対応できました。

根本的な解決では無いかもしれませんが、解決とさせていただきます。
ありがとうございました。

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -