php json解码包含破折号的变量

 汐玉Shining 发布于 2023-01-07 17:21

处理有效的json时,只要不使用extract(),就不需要做任何特殊的事情来在php中使用结果.

简而言之,让json_decode像Jay Bhatt建议的那样返回一个数组看起来更清晰,但你也可以自由地使用普通对象作为返回(这是stdclass的一个实例).

返回对象的属性几乎可以是任何东西.您只需要将属性名称用作php-string而不是硬编码的文字.

$obj->{'a sentence with spaces and umlauts äüö is valid here'}

general->{'round-corner'});
var_dump($obj->general->$keyName);
var_dump($obj->general->{'background-color äü??$%§'});

结果

2 个回答
  • 处理有效的json时,只要不使用extract(),就不需要做任何特殊的事情来在php中使用结果.

    简而言之,让json_decode像Jay Bhatt建议的那样返回一个数组看起来更清晰,但你也可以自由地使用普通对象作为返回(这是stdclass的一个实例).

    返回对象的属性几乎可以是任何东西.您只需要将属性名称用作php-string而不是硬编码的文字.

    $obj->{'a sentence with spaces and umlauts äüö is valid here'}

    <?php
    
    $json = <<<JSON
    {"general":{
     "round-corner":"0",
     "border-stroke":"2",
     "background-color äü??$%§":"#ffffff"
     }
    }
    JSON;
    
    $obj = json_decode($json);
    
    $keyName = "round-corner";
    var_dump($obj->general->{'round-corner'});
    var_dump($obj->general->$keyName);
    var_dump($obj->general->{'background-color äü??$%§'});
    

    结果

    2023-01-07 17:22 回答
  • 您可以使用这样的数组格式.加密的钥匙将起作用.

    <?php
    
    $json = '{"general":{
     "round-corner":"0",
     "border-stroke":"2",
     "background-color":"#ffffff"
     }
    }';
    
    $array = json_decode($json, true);
    
    echo $array['general']['border-stroke']; // prints 2
    
    ?>
    

    这是一个演示

    2023-01-07 17:22 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有