2015-04-22 5 views
1

Я пытаюсь получить ответ JSON с символами Unicode из API википедии с php.Невозможно преобразовать данные json в строку после json_decode в php

Вот код:

<?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); 
?> 

Если я использую «истинный» параметр возвращает в виде массива. И я не могу использовать его как строку. Если я не использую параметр «истина», он возвращается как объект. Я не могу использовать его как строку. У меня появились ошибки. Мне нужно декодировать его, поскольку он содержит символы Unicode. Если я его расшифрую. Я не могу использовать его как строку. Есть идеи?

+2

забыл (а) добавить код? –

+0

отредактирован. Я нажал вкладку и вхожу, он автоматически помещается, –

ответ

0

Возвращенный код уже является строкой, поэтому нет необходимости его декодировать.

Возможно, вы все же захотите его сначала декодировать, чтобы проверить достоверность.

$url = json_decode($url, true); 
$url = json_encode($url, JSON_UNESCAPED_UNICODE); 
var_dump($url); 
+0

Dumping $ url. Получает ответ json вроде this.string '{"query": {"normalized": [{"from": "\ u1014 \ u1031 \ u101d \ u1004 \ u103a \ u1038 \ u104a_ \ u1000 \ u1031 \ u102c \ u101c \ u102d \ u1015 \ u103a \ u1002 \ u103b \ u1004 \ u103a "," to ": ............ Мне нужно декодировать, чтобы увидеть символы –

+0

JSON может быть представлен только как действительный UTF-8 строка. В зависимости от вашей версии PHP вы могли бы сделать это: '$ url = json_decode ($ url, true); $ url = json_encode ($ url, JSON_UNESCAPED_UNICODE); var_dump ($ url); ' –

+0

Моя версия php - 5.4.16.Позвольте мне сделать это ясно. Когда я использую decode_json, я могу видеть символы, которые являются unicode. Но я не могу найти способ использовать его как строку . Когда я не использую decode_json, я не могу видеть символы юникода, я получаю такие символы, как этот \ u1 000 \ u1031 \ u102c \ u101c \ u102d \. –