我有来自reddit:http://www.reddit.com/.json的这个JSON字符串。我想从这里得到“喜欢”字段。
我的问题是reddit对likes字段使用“false”,而在没有任何喜欢或不喜欢的情况下使用“0”/ null。当我使用json_decode时,它会使用“likes”字段,如果不喜欢,则将false更改为null。这给我带来了一个问题,因为现在我无法判断该帖子是否被用户或中立者所厌恶。
我想把JSON字符串中的所有“false”替换为“不喜欢”,但这不起作用,因为如果帖子文本中有“false”,那么它也将被替换。
// what i have right now
$response = str_replace("false", "\"dislikes\"", $output);
$out = json_decode($response, true);
如何让json_decode不将“false”更改为0?
答案 0 :(得分:1)
你不能将“虚假”改为“不喜欢”。
原因在于你的json是false
而不是"false"
意味着你的json中的false
是布尔类型的。
如果您真的想要更改它,请修改json_encoded
的原始数组:
样品:
// assuming this is your original array
$orginal_array = array("your_key" => false);
// change it to
$new_array = array("your_key" => "false");