2009-09-01 7 views
0

구문 분석을 시도하는 JSON 파일에 사용 된 표기법을 사용하는 데 문제가 있습니다. 노드 중 일부가 있습니다. 객체 마침표를 벗어나는 이름의 마침표 (마침표) ($json = $article->rssFeed.url;)PHP json_decode 표기법 문제

어떻게 노드를 선택해야합니까? . (마침표)를 str_replace해야합니까, 아니면 사용할 수있는 다른 표기법이 있습니까?

<?php 

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

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

답변

3

당신은 속성에 액세스 이름 주위에 괄호를 사용할 수 있습니다 여기에 JSON의 조각 당신이 여전히 옳다는, PHP는 거의 그것 C와 같은 자바 스크립트처럼 자연과 같은.

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

참고 : 2 인자 json_decode(), TRUE합니다. 이 함수는 함수가 연관 배열을 반환하도록합니다.

이제 $object['rssFeed.type']을 사용할 수 있습니다.

1

@eWolf :

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