我想要2天已经解码一个json字符串,我用json_decode但这不会做,因为我希望,我想解码它的方式,所有的值都是字符串后。我从一个Web服务接收一个巨大的JSON,它包含字符串,布尔和整数,当我在PHP解码我想他们都是字符串例如,我得到一个像100的int,转换后我想它“ 100“,或者我得到一个假的,转换后我想它是”假“,我想做一个脚本来扫描使用json_decode结果后的obj数组并将它们转换为字符串,但我工作的公司不喜欢那个想法,有人可以帮助我吗?或给我一个提示?Php json解码字符串中的所有值
0
A
回答
1
尝试使用array_walk_recursive每一个值转换为字符串,像这样:
<?php
$fruits = json_encode (
array (
'sweet' => array (
'a' => 1,
'b' => false,
'c' => null
),
'sour' => 'lemon'
));
$fruits = json_decode ($fruits, true);
array_walk_recursive ($fruits,
function (&$item, $key)
{
if ($item === true || $item === false)
{
$item = $item ? 'true' : 'false';
}
else if ($item === null)
{
$item = 'null';
}
else
{
$item = (string) $item;
}
});
var_dump ($fruits);
<?php
$fruits = json_encode (
array (
'sweet' => array (
'a' => 1,
'b' => false
),
'sour' => 'lemon'
));
$fruits = json_decode ($fruits, true);
function convertToString(&$item, $key)
{
if ($item === true || $item === false)
{
$item = $item ? 'true' : 'false';
}
else
{
$item = (string) $item;
}
}
array_walk_recursive ($fruits, 'convertToString');
var_dump ($fruits);
0
没有办法,你可以用json_decode字符串。你应该找到一些具有该能力的json库或者制作一个自定义的解析器。
另一种方法是遍历结果数组并更新值。例如。
$arr = array(1=>true, 2=>false, 5=>5, 4 =>null, 3=>array(1=>"true", 2=>false));
var_dump($arr);
function update_value(&$item,$key) {
if ($item === null) $item = "null";
elseif ($item === false) $item = "false";
elseif ($item === true) $item = "true";
else $item.="";
// ... so on
}
array_walk_recursive($arr,'update_value');
var_dump($arr);
相关问题
- 1. 解码json像php中的字符串
- 2. 解析json字符串中的所有可能的UTF-8值
- 3. 字符串解码到JSON在PHP
- 4. JSON字符串化和解码JS/PHP
- 5. Json字符串解码mysql
- 6. PHP JSON字符串解析
- 7. PHP解析JSON字符串
- 8. 去解码json字符串
- 9. 解码JSON字符串
- 10. 解码JSON字符串
- 11. JSON字符串解码
- 12. 解码的json字符串中的访问字段PHP
- 13. PHP,JSON解码中的字符无效
- 14. PHP编码/解码字符串只有数字和字符
- 15. 在PHP中解析JSON字符串“gdata.io.handleScriptLoaded”
- 16. 在Java中解码JSON字符串
- 17. 在JavaScript中解码Json字符串
- 18. 在Java中解码JSON字符串
- 19. json_decode无法解码JSON字符串
- 20. 转换所有的JSON解码在PHP
- 21. 解码json对象到字符串android
- 22. 字符串编码/解码(PHP-的Android)
- 23. php json_decode()不适用于编码的JSON字符串。解码值为NULL
- 24. 如何解码json字符串?
- 25. 如何解码这个JSON字符串?
- 26. 如何解码部分JSON字符串
- 27. 打印已解码的JSON字符串
- 28. 解析编码的JSON字符串
- 29. 如何在PHP中接收和解码JSON字符串?
- 30. PHP中的JSON解码字符串(数组数组)特殊字符
为什么你想要一切都在字符串中的任何特定原因? – Rao
我所看到的只是'想要'..小心发布'JSON'? –
我不能粘贴JSON,因为它太大,他们不会允许我,所以我必须这样做,因为他们已经使用的应用程序是以这样的方式创建的,即JSON必须在字符串中进行转换,在json之前他自己带来了所有已经在字符串中创建的值,但他们创建并更新了服务,并且所有值都是他们应该是的,现在我必须找到一种方法来将其全部解码为字符串以便使应用程序正常工作 – ZetCoby