【问题标题】:String to stdClass php字符串到 stdClass php
【发布时间】:2018-08-24 15:32:56
【问题描述】:

我有以下对应于 JSON 对象的字符串。

$string = '{"status": "success", "count": 3, "data": [{"id": 112233}]}'

我想将其转换为stdClass。我目前的解决方案:

$object = (object)(array)json_decode($string);

虽然这正在运行,但有没有更好的方法?这看起来很混乱且效率低下。

【问题讨论】:

  • 这不是一个有效的字符串,因为引用,我假设这只是一个错字$string = "{"status":..."; vs $string = '{"status": ...';

标签: php stdclass


【解决方案1】:

这可行,创建关联 array 并将 true 传递给 json_decode

$string = '{"status": "success", "count": 3, "data": [{"id": 112233}]}';
$object = (object)json_decode($string, true);
var_dump($object);

对象(stdClass)#1 (3) { [“状态”]=> 字符串(7)“成功” [“计数”]=> 整数(3) [“数据”]=> 数组(1){ [0]=> 数组(1){ [“身份证”]=> 整数(112233) } } }

【讨论】:

    【解决方案2】:

    更简洁的方法是:

    $string = '{"status": "success", "count": 3, "data": [{"id": 112233}]}';
    
    $object = json_decode($string);
    

    查看 print_r($object); 的输出看起来像:

    stdClass Object
    (
        [status] => success
        [count] => 3
        [data] => Array
            (
                [0] => stdClass Object
                    (
                        [id] => 112233
                    )
    
            )
    

    【讨论】:

      猜你喜欢
      • 2012-01-07
      • 1970-01-01
      • 2019-06-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-10
      • 1970-01-01
      • 1970-01-01
      • 2014-06-10
      相关资源
      最近更新 更多