在php中进行json_解码后,无法将json数据转换为字符串
我正在尝试使用php从WikipediaAPI获取带有unicode字符的JSON响应 代码如下:在php中进行json_解码后,无法将json数据转换为字符串,php,json,unicode,wikipedia-api,Php,Json,Unicode,Wikipedia Api,我正在尝试使用php从WikipediaAPI获取带有unicode字符的JSON响应 代码如下: <?php $url = file_get_contents('http://my.wikipedia.org/w/api.php?action=query&prop=revisions&titles=နေဝင်း၊_ကောလိပ်ဂျင်&format=json&rvprop=timestamp|user|comment|content');
<?php
$url = file_get_contents('http://my.wikipedia.org/w/api.php?action=query&prop=revisions&titles=နေဝင်း၊_ကောလိပ်ဂျင်&format=json&rvprop=timestamp|user|comment|content');
$obj=json_decode($url,true);
var_dump ($obj);
?>
如果我使用true参数,它将作为数组返回。我不能把它当作字符串。
如果我不使用true参数,它将作为objstd返回。我也不能把它用作字符串。我有错误。我需要解码它,因为它包含unicode字符。如果我解码它。我不能把它当绳子用。有什么想法吗?返回的代码已经是一个字符串,因此不需要对其进行解码 不过,您可能仍然希望先对其进行解码以检查其有效性
$url = json_decode($url, true);
$url = json_encode($url, JSON_UNESCAPED_UNICODE);
var_dump($url);
编辑的.Sry。我按下tab键并输入,它会自动发布,转储$url。获取json响应,如下所示。字符串“{query:{normalized:[{从:\u1014\u1031\u101d\u1004\u103a\u1038\u104a\u1000\u1031\u102c\u101c\u102d\u1015\u103a\u1002\u103b\u1004\u103a,到:……等等。我需要解码以查看字符json只能表示为有效的UTF-8字符串。根据您的PHP版本,您可能可以这样做:$url=json\U decode$url,true;$url=json U encode$url,JSON_UNESCAPED_UNICODE;var_dump$url;我的php版本是5.4.16。让我说清楚。当我使用decode_JSON时,我可以看到UNICODE字符。但我找不到将其用作字符串的方法。当我不使用decode_JSON时,我看不到UNICODE字符,我得到的字符如下\u1000\u1031\u102c\u101c\u102d\。