【问题标题】:JSON object parsing with PHP in bash在 bash 中使用 PHP 解析 JSON 对象
【发布时间】:2014-04-05 18:50:19
【问题描述】:

我尝试在 bash 中使用 PHP 解析 JSON 对象。

{
    "department": {
        "name": "MyDepartment",
        "emp_no": 10
    }
}

#!/bin/sh
key=department->name
jsonbody=./object.json

value=$(php -r "\$obj = json_decode(utf8_encode(file_get_contents('$jsonbody')));print \$obj->'$key';")

我收到如下错误消息。如何处理带有 bash 变量的 JSON 对象?

PHP Parse error:  syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or '{' or '$' in Command line code on line 1

【问题讨论】:

    标签: php json bash parsing


    【解决方案1】:

    这样就解决了:

    #!/bin/sh
    key='department->name' # or key="department->name"
    jsonbody=./object.json
    
    value=$(php -r "\$obj = json_decode(utf8_encode(file_get_contents('$jsonbody')));print \$obj->$key;")
    # $key, not '$key'
    
    echo $value
    

    【讨论】:

      猜你喜欢
      • 2018-07-28
      • 1970-01-01
      • 2020-07-07
      • 1970-01-01
      • 1970-01-01
      • 2013-04-06
      • 2013-07-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多