2009-09-01 18 views
0

私は解析しようとしているJSONファイルで使用されている表記法に問題があります。いくつかのノードがあります。オブジェクト記号をエスケープする名前の名前(ピリオド) ($json = $article->rssFeed.url;)PHP json_decode表記の​​問題

どのようにノードを選択するか。 。(ピリオド)をstr_replaceする必要がありますか、または私が使用できる他の表記法がありますか?ここではJSONの抜粋です:

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

答えて

3

あなたがプロパティにアクセスするには、名前の周りにブレースを使用することができます。

<?php 

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

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

@eWolf:あなたはまだ正しいです、PHPはそのCとほぼjavascriptのようなものです自然のように。

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

注:json_decode()への第2引数、TRUE。関数が連想配列を返すようにします。

ここで$object['rssFeed.type']を使用できます。