2013-04-25 3 views
3

У меня есть большая строка php, которая состоит из данных стиля json и должна каким-то образом преобразовать это в объект json. Моя строка выглядит как что-то внизу: (это одна строка BIG). Синтаксис для строки не совсем то, что я приложил ниже, но это всего лишь пример. Как бы преобразовать строку lik $ string ниже в объект json? Thanx.Как создать объект JSON из строки php?

$string = " 
{ 
\"name\": \"flare\", 
\"children\": [ 
    { 
    \"name\": \"analytics\", 
    \"children\": [ 
    { 
    \"name\": \"cluster\", 
    \"children\": [ 
     {\"name\": \"AgglomerativeCluster\", \"size\": 3938}, 
     {\"name\": \"CommunityStructure\", \"size\": 3812}, 
     {\"name\": \"HierarchicalCluster\", \"size\": 6714}, 
     {\"name\": \"MergeEdge\", \"size\": 743} 
    ] 
    } 
    ] 
    } 
    ] 
} 
"; 
+2

'json_decode()'? –

ответ

3

Использование json_decode() для этого:

$obj = json_decode($string); 
var_dump($obj); 

Выход:

class stdClass#1 (2) { 
    public $name => 
    string(5) "flare" 
    public $children => 
    array(1) { 
    [0] => 
    class stdClass#2 (2) { 
     public $name => 
     string(9) "analytics" 
     public $children => 
     array(1) { 
     ... 
     } 
    } 
    } 
} 
2

There's no such thing as a JSON object.

У вас есть текст JSON, выраженный в виде строкового литерала PHP.

Если вы хотите проанализировать его в объекте PHP, используйте json_decode($string).

Если вы хотите разобрать его на объект JavaScript, вам необходимо каким-то образом передать строку на JavaScript. Это может потребовать печати в ответ на HTTP-запрос, передав его V8 или какой-либо другой метод в зависимости от того, что именно вы хотите достичь с ним.

+0

Я пытаюсь использовать следующий метод: d3.json ("page.php") Метод может принимать файл .php. У моего php-файла, который я пытаюсь передать, на самом деле есть метод внутри файла, который создает строку, как указано выше, и возвращает строку. Я на правильном пути? – user1899872

+0

Он не может принимать файл PHP. Он может принимать URL-адрес. Этот сервер может использовать PHP для определения ответа на запрос для этого URL-адреса. (Это было бы упомянутым выше «печатью в ответ»). Если вы хотите посмотреть, что выводится, запросите URL-адрес напрямую, введя его в адресную строку браузера. – Quentin

Смежные вопросы