【问题标题】:Create JSON data in specific format创建特定格式的 JSON 数据
【发布时间】:2014-07-26 16:19:48
【问题描述】:

我需要这样创建数据:

{v: 1.0, f: '<h1>1.0</h1>'}

...

但现在我只知道如何获取第一个参数所以我得到:{v: 1.0},

使用此代码:

 $temp[] = array('v' => (string) $naziv);

我需要添加到我的代码中:$temp[] = array('v' =&gt; (string) $naziv); 以获得这样的 json:{v: 1.0, f: '&lt;h1&gt;1.0&lt;/h1&gt;'}

【问题讨论】:

  • 您想要的数据不符合 JSON 标准。属性名称用引号括起来。
  • 你的目标应该是{"v": "1.0", "f": "&lt;h1&gt;1.0&lt;/h1&gt;"}
  • 不要在 PHP 中构建自己的 JSON。使用json_encode。如果你给它一个对象,它将正确构建它:php.net/manual/en/function.json-encode.php

标签: javascript php json pdo


【解决方案1】:
$naziv = 1.0;
$header ='<h1>1.0</h1>';

$temp[] = array('v' => (string) $naziv,
                'f' => (string) $header
          );

echo json_encode($temp);

$naziv = 1.0;
$header ='<h1>1.0</h1>';

$temp['v'] = $naziv;
$temp['f'] = $header;

echo json_encode($temp);

【讨论】:

    【解决方案2】:
    <?php
    
    $naziv = 1.0;
    
    $temp = array(
        "v" => $naziv
        "f" => "<h1>{$naziv}</h1>",
    );
    
    echo json_encode($temp);
    

    这将导致

    {"v":1.0,"f":"<h1>1.0</h1>"}
    

    【讨论】:

    • 当我尝试写这个时,这给了我一个错误: $temp[] = array('v' => (string) $naziv, 'f': '

      '.$naziv .'

      ');
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多