首页 > 解决方案 > 如何在括号和大括号 JSON PHP 文件中添加换行符?

问题描述

我有以下代码在 json php 中生成数据:

<?php
    $stmt = $con->prepare("SELECT
                                id_news,
                                url,
                                cover_page,
                                alt_img,
                                mini_title,
                                mini_description,
                                date_post,
                                confg_img,
                                main_cover
                            FROM news ORDER BY id_news DESC LIMIT 5");
        $stmt->execute();
        $member = array();
        $stmt->bind_result(
            $member['id_news_sport'],
            $member['url'],
            $member['cover_page'],
            $member['alt_img'],
            $member['mini_title'],
            $member['mini_description'],
            $member['date_post'],
            $member['confg_img'],
            $member['main_cover']
        );

        header('Content-type: application/json; charset=utf-8');
        echo '[';
        $count = 0;
        while ($stmt->fetch()) {
            if( $count ) {
                echo ',';
            }

            echo json_encode($member, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT | JSON_FORCE_OBJECT);

            ++$count;
        }

        echo ']';
 ?>

获得以下结果:

[{
    "id_news": 712,
    "url": "es/deportes/futbol/ecuador/ligapro/serie-a/712/marcos-caicedo-recuerda-su-paso-en-los-equipos-del-astillero",
    "cover_page": "https://i.imgur.com/kg7RBqK.jpg",
    "alt_img": "Marcos Caicedo",
    "mini_title": "Marcos Caicedo recuerda su paso en los equipos del astillero",
    "mini_description": "El jugador de Liga de Quito no olvida su paso por Emelec y Barcelona",
    "date_post": "2020-12-18 03:21:57",
    "confg_img": null,
    "main_cover": "relevant_news"
},{
    "id_news": 708,
    "url": "es/deportes/futbol/internacional/fichajes/708/el-fichaje-que-pretendia-ldu-para-la-defensa-podria-caerse",
    "cover_page": "https://i.imgur.com/MmETkch.png",
    "alt_img": "Jugadores de LDU celebrando un gol",
    "mini_title": "EL fichaje que pretend\u00eda LDU para la defensa podr\u00eda caerse",
    "mini_description": "LDU tiene un competidor por el fichaje del central",
    "date_post": "2020-12-16 20:26:51",
    "confg_img": null,
    "main_cover": "relevant_news"
}]

但是我需要能够在括号和每个大括号的另一个换行符之间换行,如下所示:

[
  {
    "userId": 1,
    "id": 1,
    "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
    "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"
  },
  {
    "userId": 10,
    "id": 99,
    "title": "temporibus sit alias delectus eligendi possimus magni",
    "body": "quo deleniti praesentium dicta non quod\naut est molestias\nmolestias et officia quis nihil\nitaque dolorem quia"
  },
  {
    "userId": 10,
    "id": 100,
    "title": "at nam consequatur ea labore ea harum",
    "body": "cupiditate quo est a modi nesciunt soluta\nipsa voluptas error itaque dicta in\nautem qui minus magnam et distinctio eum\naccusamus ratione error aut"
  }
]

正如这个 json 数据输出所示,我应该在我的 PHP JSON 代码中使用哪些更改来获得相同的结果。

标签: phpjson

解决方案


我看不出你这样做的原因,但它可能是这样的,在括号后面和逗号后面添加\n(一个新行)和(两个空格)&nbsp;&nbsp;

header('Content-type: application/json; charset=utf-8');
echo '['."\n&nbsp;&nbsp;";  // <<<< here 
$count = 0;
while ($stmt->fetch()) {
    if( $count ) {
        echo ','."\n&nbsp;&nbsp;";  // <<<< and here 
    }

    echo json_encode($member, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT | JSON_FORCE_OBJECT);

    ++$count;
}
 echo "\n".']'; // <<<< and here 

the\n和 the都&nbsp;必须在双撇号内 " "

如果空间不起作用,请尝试\s

header('Content-type: application/json; charset=utf-8');
echo '['."\n\s\s";  // <<<< here 
$count = 0;
while ($stmt->fetch()) {
    if( $count ) {
        echo ','."\n\s\s";  // <<<< and here 
    }

    echo json_encode($member, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT | JSON_FORCE_OBJECT);

    ++$count;
}
 echo "\n".']'; // <<<< and here 

推荐阅读