【问题标题】:Printing and parsing JSON variable in PHP在 PHP 中打印和解析 JSON 变量
【发布时间】:2016-03-31 12:08:56
【问题描述】:

我有以下带有 JSON 变量的 PHP 代码...

$route_geometry_json = "{
    \"route_geometry\": [
        [44.911537, 7.671326],
        [44.911481, 7.671462],
        [44.911455, 7.671531],
        [44.911434, 7.671602],
        [44.911358, 7.671859],
        [44.911273, 7.672175],
        [44.911198, 7.672458],
        [44.91113, 7.672617],
        [44.911069, 7.67275],
        [44.911003, 7.672821],
        [44.910945, 7.672881],
        [44.910869, 7.672954],
        [44.910868, 7.673046],
        [44.91091, 7.673109],
        [44.91095, 7.67319],
        [44.910964, 7.673266],
        [44.910958, 7.673407],
        [44.910955, 7.6735],
        [44.910947, 7.673632],
        [44.910922, 7.673871],
        [44.910828, 7.674786],
        [44.910711, 7.675816],
        [44.910606, 7.676364],
        [44.910467, 7.676322],
        [44.910368, 7.676308],
        [44.910051, 7.676253],
        [44.9097, 7.676162],
        [44.90944, 7.676041],
        [44.909297, 7.675958],
        [44.909174, 7.67583],
        [44.909107, 7.675722],
        [44.908993, 7.675583],
        [44.908758, 7.675448],
        [44.90796, 7.675037]
    ]
  }";

print "Route geometry -->" + json_encode($route_geometry_json);

打印返回“0”:有什么建议/示例吗?

我还想提取/打印像这样的坐标

    44.908993, 7.675583
    44.908758, 7.675448

任何建议将不胜感激......

谢谢

切萨雷

【问题讨论】:

  • 是的,encode 将值转换为 json,而 decode 将 json 转换为变量

标签: php json parsing


【解决方案1】:

使用此代码:

$route_geometry = json_decode($route_geometry_json);

foreach ($route_geometry->route_geometry as $value) {
    echo $value[0].', '.$value[1].'<br />';
}

【讨论】:

    【解决方案2】:

    你需要print_r(json_decode($route_geometry_json))它和 json_encode

    json_encode 用于创建 JSON 字符串。但是由于您已经有一个 JSON 字符串,您需要对其进行解码以使其成为一个数组/对象。

    更新

    您的要求

    echo "Route geometry -->"; 
    print_r(json_decode($route_geometry_json));
    

    您无法连接 StringObject,因此您遇到了 Parse 错误。

    【讨论】:

    • 谢谢!我试过了,但结果是.....“注意:stdClass 类的对象无法转换为 int .....” :-(
    • 使用print_r打印
    • 我尝试使用“print_r”进行打印,现在错误是“Parse error: syntax error, unexpected '"Route geometry -->"' (T_CONSTANT_ENCAPSED_STRING)” ....
    • 从字符串中删除反斜杠,它应该可以工作......“route_geometry”并为整个字符串使用单引号。试试
    • 因为你不能将一个字符串和一个对象连接为一个。所以,以不同的方式打印它们。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-16
    • 2016-10-25
    • 2018-09-11
    相关资源
    最近更新 更多