15

私は Android アプリを開発しています。API については、JSON データを返す必要がある URL にリクエストを送信しています。

これは私の出力で得ているものです: 私の反応

そして、それを Twitter の応答として表示したいと思います。

Twitter の JSON レスポンス

私の応答は、正しくエンコードされていないため、JSON Formatter Chrome 拡張機能によって解析されていないと想定しているため、アプリは必要な値を取得できません。

これが私のPHPコードです:

<?php

$response = array();

if (isset($_POST['name']) && isset($_POST['price']) && isset($_POST['description'])) 
{

    $name = $_POST['name'];
    $price = $_POST['price'];
    $description = $_POST['decription'];

    require_once __DIR__ . '/db_connect.php';

    $db = new DB_CONNECT();

    $result = mysql_query("INSER INTO products(name, price, description) VALUES('$name', '$price', '$description')");

    if ($result) {
        $response["success"] = 1;
        $response["message"] = "Product successfully created.";

        echo json_encode($response);
    } else {

        $response["success"] = 0;
        $response["message"] = "Oops! An error occurred!";

        echo json_encode($response);
        }
} else {

    $response["success"] = 0;
    $response["message"] = "Required field(s) is missing";

    echo json_encode($response);

}

?>

JSON Formatter と Android アプリが正しく解析できるように、JSON データを正しく表示する方法を知りたいです。

4

7 に答える 7

17

あなたの問題は実際には非常に簡単に解決できます。Chrome JSON Formatter プラグインは、Content-Type ヘッダーが application/json に設定されている場合にのみ、出力をフォーマットします。

コードで変更する必要があるのはheader('Content-Type: application/json');、json でエンコードされたデータを返す前に、PHP コードで を使用することだけです。

于 2014-04-20T17:09:57.583 に答える
5

PHP のjson_encode関数は、2 番目の引数として$options. ここJSON_PRETTY_PRINTでは、Twitter API で見られるように印刷するために使用できます。

例えば

echo json_encode($my_array, JSON_PRETTY_PRINT);
于 2013-05-17T01:51:02.887 に答える
3

json_encode次のように関数に引数を渡すことができます:

echo json_encode($response, JSON_PRETTY_PRINT);

PHP 5.2.0 => http://php.net/manual/en/function.json-encode.php

于 2013-05-17T01:51:15.063 に答える
0

pre タグを追加するだけ -->

<pre><?php  ---you`r code---     ?> </pre>

echo json_encode($response, JSON_PRETTY_PRINT);

pre-Tag と JSON_PRETTY_PRINT を追加した後、問題が解決すると確信しています。

于 2016-05-06T10:51:02.357 に答える