このようにPHPを介してサーバー上でJSONを作成しています(JSONを間違って作成している場合は、これを正しくする方法を教えてください)。次に、この文字列を Android の JSON オブジェクトに変換します。
{
"account[0]":{"0":"http:\/\/twitter.com\/OGTedBerg"},
"image[0]":{"0":"http:\/\/a0.twimg.com\/profile_images\/2821392281\/59f4fe1cbb44c8812401192a199b4b04_normal.jpeg"},
"name[0]":"Ted Berg",
"tweet[0]":"I know the flavor I most closely associate with the <em>United<\/em> <em>States<\/em> is Cheesy Paprika. <a target=\"_blank\" href=\"http:\/\/t.co\/5On9CQuV\">http:\/\/t.co\/5On9CQuV<\/a>",
"time[0]":"1 minute ago"
}
{
"account[1]":{"0":"http:\/\/twitter.com\/sirgarrick45"},
"image[1]":{"0":"http:\/\/a0.twimg.com\/profile_images\/3071585947\/207a70fcc09749a1359287a204db1c0b_normal.jpeg"},
"name[1]":"Mike Green",
"tweet[1]":"RT @<a class=\" \" href=\"https:\/\/twitter.com\/RussellVogt\">RussellVogt<\/a>: <a target=\"_blank\" href=\"http:\/\/search.twitter.com\/search?q=%23NDAA\" title=\"#NDAA\" class=\" \">#NDAA<\/a> <em>United<\/em> <em>States<\/em> of America Check it out!! <a target=\"_blank\" href=\"http:\/\/t.co\/KxRx3fMH\">http:\/\/t.co\/KxRx3fMH<\/a>",
"time[1]":"1 minute ago"
}
{
"account[2]":{"0":"http:\/\/twitter.com\/Gabriel_Enrike"},
"image[2]":{"0":"http:\/\/a0.twimg.com\/profile_images\/2921364087\/282fec08788f1d96eb0d1167a2639a69_normal.jpeg"},
"name[2]":"GabrielEnrique",
"tweet[2]":"@<a class=\" \" href=\"https:\/\/twitter.com\/BarackObama\">BarackObama<\/a> will oath to his second term as president from the <em>United<\/em> <em>States<\/em> on Martin Lutker King jr. day! <a target=\"_blank\" href=\"http:\/\/search.twitter.com\/search?q=%23HeHadADream\" title=\"#HeHadADream\" class=\" \">#HeHadADream<\/a> <a target=\"_blank\" href=\"http:\/\/search.twitter.com\/search?q=%23TeamBO\" title=\"#TeamBO\" class=\" \">#TeamBO<\/a> <a target=\"_blank\" href=\"http:\/\/search.twitter.com\/search?q=%23YesWeCan\" title=\"#YesWeCan\" class=\" \">#YesWeCan<\/a>",
"time[2]":"1 minute ago"
}
{
"account[3]":{"0":"http:\/\/twitter.com\/Davis_T94"},
"image[3]":{"0":"http:\/\/a0.twimg.com\/profile_images\/2627985413\/image_normal.jpg"},
"name[3]":"tim davis",
"tweet[3]":"RT @<a class=\" \" href=\"https:\/\/twitter.com\/FactBoook\">FactBoook<\/a>: The <em>United<\/em> <em>States<\/em> once captured Mexico City.",
"time[3]":"1 minute ago"
}
これは、文字列を JSON オブジェクトに変換するために使用している Java コードです。
private String[] acnt;
private String[] img;
private String[] nam;
private String[] twt;
private String[] tim;
JSONObject obj = null;
// creating response string to jsonobject and getting required values
try {
obj = new JSONObject(twitter_response);
int lenght = obj.length();
acnt = new String[lenght];
img = new String[lenght];
nam = new String[lenght];
twt = new String[lenght];
tim = new String[lenght];
//obj.getJSONArray(twitter_response);
for ( $i = 0; $i < lenght; $i++ )
{
acnt[$i] = new String(obj.getString("account[" + $i + "]"));
img[$i] = new String(obj.getString("image[" + $i + "]"));
nam[$i] = new String(obj.getString("name[" + $i + "]"));
twt[$i] = new String(obj.getString("tweet[" + $i + "]"));
tim[$i] = new String(obj.getString("time[" + $i + "]"));
}
} catch (JSONException e) {
Log.e("log_tag", "Error receiving tweet "+ e.toString());
e.printStackTrace();
}
これで、最初の値しか得られません。私が間違っていることを知っていますか?