簡體   English   中英

PHP重新格式化JSON輸出

[英]PHP reformat JSON output

我正在Construct2中構建一個高分板,並試圖正確布置字符。

為此,我在c2中創建了一個數組,並使用AJAX從Web服務器上保存的php腳本中以JSON字符串的形式返回數據。 然后,這些數據將用於填充數組,然后將其用於填寫我的SpriteFonts。 理論上足夠簡單。

這是返回JSON字符串的php文件:

if ($result = $mysqli->query($sql))  {
    /* fetch associative array */
    while ($row = $result->fetch_assoc()) {
    $array = array(
        array
        (
            'name' =>  $row['pName'],
            'score' => $row['score']
        ));     
        echo json_encode($array);
    }

    /* free result set */
    $result->free();
    exit();
}

這將返回以下內容:

[{"name":"developer","score":"56"}]
[{"name":"Terrry","score":"34"}]
[{"name":"Numero_Uno","score":"20"}]
[{"name":"Thomasin :)","score":"18"}]
[{"name":"ThriftyButStillNifty","score":"18"}]
[{"name":"Perfect","score":"17"}]
[{"name":"bah","score":"17"}]
[{"name":"EvilEdna","score":"16"}]
[{"name":"type here","score":"16"}]
[{"name":"Slaine","score":"14"}]

要在C2中使用,字符串必須采用以下格式:

{"c2array":true,
"size":
    [2,2,1],
"data":
[
[["John"],[23]],
[["Terry"],[43]]
]
}

我該如何從另一個創建一個?

我會做這樣的事情:

$response = array(
    "c2array" => true,
    "size" => "something",
    "data" => array()
);

while ( $row = $result->fetch_assoc() ) {
    $response['data'][] = array(
        array($row['pName']),
        array($row['score'])
    );
}

echo json_encode($response);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM