【问题标题】:To Edit Json_encoded string编辑 Json 编码字符串
【发布时间】:2014-06-24 20:23:54
【问题描述】:

由于我是 php 新手,我对如何使用 preg_replace 格式化 json 数据一无所知。 我正在处理 HTML5 图表,为此我从数据库中获取数据并使用 json_encode 方法对其进行编码。 现在我想要的结果是: [{label:"Apple",y:95},{label:"Robin",y:85},{label:"Ron",y:65},{label:"Roy",y:55},{lable:"Na",y:45}]

而我所拥有的是:{"data":[[{"lable":"Apple","y":95},{"lable":"Robin","y":85},{"lable":"Ron","y":65},{"lable":"Roy","y":55},{"lable":"Na","y":45}]]}

我读到的是生病 preg_replace 方法会有所帮助,但我不知道如何。请帮忙。任何帮助将不胜感激。提前致谢。

【问题讨论】:

  • 您要格式化 JSON 数据还是尝试修改其值?
  • 格式化正在通过json_encode方法生成的json字符串
  • 试试JSON_PRETTY_PRINTjson_encode的第二个参数。
  • 如果我的问题不明确,请告诉我。

标签: php html preg-replace json


【解决方案1】:

看来您的 json 无效。比如说我有这个:

[{"label":"Apple","y":"95"},{"label":"Apple","y":"95"},{"label":"Apple","y":"95"}]

然后我想用 php 解码:

$json_convert_to_array = json_decode($json, true);

看起来像这样:

 Array
(
    [0] => Array
        (
            [label] => Apple
            [y] => 95
        )

    [1] => Array
        (
            [label] => Apple
            [y] => 95
        )

    [2] => Array
        (
            [label] => Apple
            [y] => 95
        )

)

然后要编辑一个值并将其打包回 json,您可以这样做:

$json_convert_to_array[2]['label'] = "new Val";

print json_encode($json_convert_to_array);

现在应该是这样的:

[{"label":"Apple","y":95},{"label":"Apple","y":95},{"label":"new Val","y":95}]

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2013-03-12
    • 2014-01-03
    • 1970-01-01
    • 2012-07-15
    • 2013-06-07
    • 1970-01-01
    • 2013-06-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多