草庐IT

decodable

全部标签

PHP json_decode 深度参数不起作用

PHP的json_decode函数有一个“深度”参数,您可以在其中指定递归的深度。但是下面的代码:test=array('name'=>'sean','dob'=>'12-20','parents'=>array('father'=>'tommy','mother'=>'darcy'));foreach(range(1,3)as$depth){echo"-----------------\ndepth:$depth\n";print_r(json_decode(json_encode($test),true,$depth));}产生这个输出:-----------------depth

PHP json_decode问题

我正在尝试使用json_decode组合一些json对象,然后重新编码。我的json看起来像:{"core":{"segment":[{"id":7,"name":"test1"},{"id":4,"name":"test2"}]}}我有一些这样的json对象,我想只组合每个json对象的“segement”数组来得到这样的东西:{"segment":[{"id":7,"name":"test1"},{"id":4,"name":"test2"}],"segment":[{"id":5,"name":"test3"},{"id":8,"name":"test4"}]}现在在我的php代

php json_decode 在键上没有引号时失败

我有这样表示的json数据{key:"value"}(键周围没有引号...)我想将其转换为关联数组。PHP的json_decode返回null如何在键周围添加引号??谢谢... 最佳答案 您可以在源中修复JSON以便它返回有效的JSON结构,或者您可以在键周围手动添加引号。Thisanswer对于类似的问题有一个如何做到这一点的例子:functionmy_json_decode($s){$s=str_replace(array('"',"'"),array('\"','"'),$s);$s=preg_replace('/(\w+):

php - 字符串似乎是有效的 JSON,但 `json_decode()` 返回 NULL

我想我已经找到了错误所在:$convertJSON=file_get_contents("http://www.google.com/ig/calculator?hl=en&q=".$currencyValue.$currencySelectValue."%3D%3FUSD",true);var_dump($convertJSON);$convertArr=json_decode($convertJSON,true);var_dump($convertArr);我这样做是为了调试,我得到了这个结果(我输入了555和欧元):string(68)"{lhs:"555Euros",rhs:"

php - json_decode 返回字符串类型而不是对象

我将一个JSON编码的字符串传递给json_decode()并期望它的输出是一个对象类型,但我得到的却是一个字符串类型。如何返回对象?在文档中,以下返回一个对象:$json='{"a":1,"b":2,"c":3,"d":4,"e":5}';var_dump(json_decode($json));但是,如果我先json_encode()字符串然后调用json_decode(),输出是一个字符串而不是一个对象:$json=json_encode('{"a":1,"b":2,"c":3,"d":4,"e":5}');var_dump(json_decode($json));这只是一个简化

php - php json_decode 什么时候返回 false?

在json_decode的PHP文档中它说它可以返回TRUE、FALSE、NULL。有人能帮助我理解它何时会返回FALSE吗?我知道无效的JSON将返回NULL,但如果不是实际的JSON值,其他两个何时返回?谢谢 最佳答案 JSONformatdefinition清楚地显示所有可能的值及其表示:Avaluecanbeastringindoublequotes,oranumber,ortrueorfalseornull,oranobjectoranarray.对象和数组在JSON表示中都有特殊的语法(分别包装在{}和[]中),因此它们

php - 返回数组时,PHP 中的 json_decode 是否保证保留元素的顺序?

您可以将bool值传递给json_decode以返回数组而不是对象json_decode('{"foo","bar","baz"}',true);//array(0=>'foo',1=>'bar',2=>'baz')我的问题是这样的。在解析对象文字时,这是否保证项目的顺序将被保留?我知道JSON对象属性没有排序,但PHP数组是。我在PHP手册中找不到明确说明此问题的任何地方。谨慎行事可能是值得的,但我想尽可能避免包含某种“索引”子属性。 最佳答案 在这种情况下,当您将JSON传递给PHP时使用数组不是更有意义吗?如果您在JSON中没

php - 从 json_decode 获取数组结果

如何从json_decode()得到一个数组?我有一个这样的数组:$array=array('mod_status'=>'yes','mod_newsnum'=>5);然后我将其保存在数据库中,如JSON编码:{"mod_status":"yes","mod_newsnum":5}现在我想从数据库中再次获取数组。但是当我使用:$decode=json_decode($dbresult);我得到:stdClassObject([mod_status]=>yes[mod_newsnum]=>5)而不是数组。如何获取数组而不是对象? 最佳答案

php - json_decode() 返回空白但它是有效的 json

$a='[{"function":"error_handler","class":"LP","type":"::","args":[256,"CalltoundefinedmethodLP_pdo::get_rorzxx()onD:\\MARK\\htdocs\\lessphptest\\application\\controllers\\users.php(23)","D:\\MARK\\htdocs\\lessphp\\LP.php",210,{"e":{"type":1,"message":"CalltoundefinedmethodLP_pdo::get_rorzxx()","

php - 为什么 json_decode 为空数组返回 null?

为什么会回显“NULL”?在我看来,它将被解码为一个空数组。我明显遗漏了什么吗? 最佳答案 这是因为array()==NULL。在这种情况下,它不检查对象类型。gettype(null)返回null,而gettype(array())返回数组。希望你有所不同。可能你需要的是if($json_decoded===null){echo"NULL";}else{echo"NOTNULL";} 关于php-为什么json_decode为空数组返回null?,我们在StackOverflow上找到