使用php创建精确的json文件

使用php创建精确的json文件,php,json,Php,Json,我需要用PHP编写以下输出: 变量数据={“计数”:1, “元素”:[{“id”:1,“title”:“title123”,“url”:“x123.php”,“file_url”:“x124.jpg”}]} 我试过: $txt = 'var data = { "count": 1,"elements": '; $txt = $txt + '[{"id": 1, "title": "title123", "url": "x123.php", "file_url": "x124.jpg"}';

我需要用PHP编写以下输出:

变量数据={“计数”:1, “元素”:[{“id”:1,“title”:“title123”,“url”:“x123.php”,“file_url”:“x124.jpg”}]}

我试过:

$txt = 'var data = { "count": 1,"elements": ';
$txt = $txt + '[{"id": 1, "title": "title123", "url": "x123.php", "file_url": "x124.jpg"}';
    $something = json_encode($txt);
    echo $something;
    //
    $something = print_r($txt);
    echo $something;
    //
    $something = print_r(json_decode($txt));
    echo $something;
    //
    ob_start;
    var_dump($txt);
    $something = ob_get_contents();
    ob_end_clean();
    echo $something;
我也试过:

$txt = '?var ?data ?= { "count": 1,"elements":';
for ($x = 0; $x <= strlen($txt); $x++) {
    $neso = substr($txt,$x,1);
    if ($neso != "?") {
    echo "+" + $neso + "+" + $x;
    }
} 
$txt=”?变量?数据?={“计数”:1,“元素”:“;

对于($x=0;$x这不是生成json的方式。PHP完全不知道Javascript是什么——就PHP而言,它只是纯文本。当您执行
$txt='var...
,并对其进行编码时,您正在生成PHP中生成的字符串的json表示,这意味着您的json将成为

"var data = {\"count\": etc...}"
现在你已经在那里的JSON被转义了,不再是JSON了,它只是一个纯文本字符串

您想要的更像:

$php_array = array(
   'count' => 1,
   'elements' => array(
       array('id' => 1, 'title' => etc...)
   )
)

$javascript = 'var txt = ' . json_encode($php_array) . ';';

请注意,您的
echo“+”+$neso++”+$x;
完全没有用处。
+
在PHP中进行数学加法。您正在尝试进行字符串连接,运算符是

这不是生成json的方式。PHP完全不知道Javascript是什么-就PHP而言,它只是纯文本。当您执行
$txt='var..
时>,并对其进行编码,您将生成用php生成的字符串的json表示,这意味着您的json将成为

"var data = {\"count\": etc...}"
现在你已经在那里的JSON被转义了,不再是JSON了,它只是一个纯文本字符串

您想要的更像:

$php_array = array(
   'count' => 1,
   'elements' => array(
       array('id' => 1, 'title' => etc...)
   )
)

$javascript = 'var txt = ' . json_encode($php_array) . ';';

请注意,您的
echo“+”++$neso++“++”++$x;
完全没有用处。
++
在PHP中进行数学加法。您正在尝试进行字符串连接,运算符是

了解数组、对象的结构,以及如何用JSON编写相同的内容

要使用PHP创建真正的json,最好的方法是:

  • 使用实际数据创建一个数组
  • json编码它
  • 传下去
如果您尝试,那么将“回响”的是第一个{}中的内容

首先,我要做:

$data = array(
'count' => 1,
'elements' => array(
            'id' => 1,
            'title' => 'title123',
            'url' => 'x123.php',
            'file_url' => 'x124.jpg',
            ),
);

然后:echo json_encode($data);或者返回$json_encode($data),以传递数据。

了解数组、对象的结构,以及如何用json编写相同的内容

要使用PHP创建真正的json,最好的方法是:

  • 使用实际数据创建一个数组
  • json编码它
  • 传下去
如果您尝试,那么将“回响”的是第一个{}中的内容

首先,我要做:

$data = array(
'count' => 1,
'elements' => array(
            'id' => 1,
            'title' => 'title123',
            'url' => 'x123.php',
            'file_url' => 'x124.jpg',
            ),
);

然后:echo json_encode($data);或者返回$json_encode($data),以传递数据。

欢迎,我必须感谢您在SO sir上的服务。@MarcBWelcome,我必须感谢您在SO sir上的服务。@MarcB