PHP json_decode gösterim sorunu

2 Cevap php

I am having an issue dealing with the notation used in a JSON file I am trying parse. Some of the nodes have . (periods) in the names which escapes object-notation ($json = $article->rssFeed.url;)

Nasıl düğümleri seçme hakkında gitmek istiyorum. Ben. (Dönemleri) str_replace gerekiyor, ya da kullanabileceğiniz bazı diğer gösterim var mı? İşte JSON snippet'idir:

"docs": [{"rssFeed.type": "news", "rssFeed.url": "http://www.example.com/",  "score": 1.0 }]

2 Cevap

Sen özelliğine erişmek için adı etrafında parantez kullanabilirsiniz:

<?php

$o = json_decode('{"docs": [{"rssFeed.type": "news", "rssFeed.url": "http://www.example.com/",  "score": 1.0 }]}');

var_dump($o->docs[0]->{'rssFeed.url'});
?>

@ EWolf: hala sağ, php neredeyse doğa gibi kendi C gibi javascript gibi.

$object = json_decode('{"docs": [{"rssFeed.type": "news", 
                                  "rssFeed.url": "http://www.example.com/",
                                  "score": 1.0 }]}', TRUE);

Için Note: 2 değişken json_decode(), TRUE. Bu bir ilişkisel dizi döndürmek için işlevini zorlar.

Şimdi $object['rssFeed.type'] kullanılabilir.