1

私はphpからこのjsonエンコードされた出力を取得しようとします

$response["success"] = $id;
echo json_encode($response);
echo json_encode($eventid);

一方、$ responseには["success]の整数のみが含まれ、$ eventidにはIDの配列(たとえば、["1"、" 3 "])が含まれます。したがって、phpファイルの出力は次のようになります。

{"success":"3"}["1","3","7"]

今、私は成功とeventidの両方を取得しようとしています。私は成功を収めます

int id = json.getInt("success");

それが機能する場合、問題はeventidの配列を取得することです。私はこの投稿を見つけました:stackoverflowですが、配列内の各要素のタグがないため、役に立ちませんでした。したがって、問題は、すべての要素にタグを追加する必要があるのか​​、それとも使用できる別の構文があるのか​​ということです。

前もって感謝します

4

2 に答える 2

5

提供されたJSONは無効です。次のように変更する必要があります。

{
    "success": "3",
    "elements": [
        "1",
        "3",
        "7"
    ]
}

これを行うと、次のことができるようになります。

JSONArray array = json.getJSONArray ("elements");
for (int counter = 0; counter < array.length (); counter ++)
   Log.d ("element", array.getInt (counter));
于 2013-03-12T08:30:46.483 に答える
2

私はあなたがしたのと同じように$eventid内にエンコードします$response$success

$response["success"] = $id;
$response["eventid"] = $eventid;
echo json_encode($response);

収量:

{"success":3,"eventid":[ 1, 3, 7]}
于 2013-03-12T08:31:34.497 に答える