저는 PHP로 JSON 문자열을 구문 분석하기 위해 정말 고심하고 있습니다. 아래의 링크에는 구문 분석하려고하는 JSON이 포함되어 있습니다. http://finance.google.com/finance/info?client=ig&q=NASDAQ:MSFT,NASDAQ:GOOG,NASDAQ:AAPLPHP에서 JSON 구문 분석
누구든지 도움을 요청할 수는 있지만 아직 완전히 익숙하지 않습니다.
감사합니다.
저는 PHP로 JSON 문자열을 구문 분석하기 위해 정말 고심하고 있습니다. 아래의 링크에는 구문 분석하려고하는 JSON이 포함되어 있습니다. http://finance.google.com/finance/info?client=ig&q=NASDAQ:MSFT,NASDAQ:GOOG,NASDAQ:AAPLPHP에서 JSON 구문 분석
누구든지 도움을 요청할 수는 있지만 아직 완전히 익숙하지 않습니다.
감사합니다.
더 //
문자열의 시작에 //
사용
$json_data = '......';
$json_data = trim(substr($json_data,2));
$json_object = json_decode($json_data);
결과
$json_data = '[ { "id": "358464" ,"t" : "MSFT" ,"e" : "NASDAQ" ,"l" : "25.80" ,"l_cur" : "25.80" ,"s": "1" ,"ltt":"4:00PM EDT" ,"lt" : "Sep 2, 4:00PM EDT" ,"c" : "-0.41" ,"cp" : "-1.56" ,"ccol" : "chr" ,"el": "25.44" ,"el_cur": "25.44" ,"elt" : "Sep 6, 4:35AM EDT" ,"ec" : "-0.36" ,"ecp" : "-1.40" ,"eccol" : "chr" ,"div" : "0.16" ,"yld" : "2.48" } ,{ "id": "694653" ,"t" : "GOOG" ,"e" : "NASDAQ" ,"l" : "524.84" ,"l_cur" : "524.84" ,"s": "0" ,"ltt":"4:00PM EDT" ,"lt" : "Sep 2, 4:00PM EDT" ,"c" : "-7.66" ,"cp" : "-1.44" ,"ccol" : "chr" } ,{ "id": "22144" ,"t" : "AAPL" ,"e" : "NASDAQ" ,"l" : "374.05" ,"l_cur" : "374.05" ,"s": "1" ,"ltt":"4:00PM EDT" ,"lt" : "Sep 2, 4:00PM EDT" ,"c" : "-6.98" ,"cp" : "-1.83" ,"ccol" : "chr" ,"el": "371.45" ,"el_cur": "371.45" ,"elt" : "Sep 6, 6:02AM EDT" ,"ec" : "-2.60" ,"ecp" : "-0.70" ,"eccol" : "chr" ,"div" : "" ,"yld" : "" } ]';
$json_object = json_decode($json_data);
를 사용하지있을 경우
array (
0 =>
stdClass::__set_state(array(
'id' => '358464',
't' => 'MSFT',
'e' => 'NASDAQ',
'l' => '25.80',
'l_cur' => '25.80',
's' => '1',
'ltt' => '4:00PM EDT',
'lt' => 'Sep 2, 4:00PM EDT',
'c' => '-0.41',
'cp' => '-1.56',
'ccol' => 'chr',
'el' => '25.44',
'el_cur' => '25.44',
'elt' => 'Sep 6, 4:35AM EDT',
'ec' => '-0.36',
'ecp' => '-1.40',
'eccol' => 'chr',
'div' => '0.16',
'yld' => '2.48',
)),
1 =>
stdClass::__set_state(array(
'id' => '694653',
't' => 'GOOG',
'e' => 'NASDAQ',
'l' => '524.84',
'l_cur' => '524.84',
's' => '0',
'ltt' => '4:00PM EDT',
'lt' => 'Sep 2, 4:00PM EDT',
'c' => '-7.66',
'cp' => '-1.44',
'ccol' => 'chr',
)),
2 =>
stdClass::__set_state(array(
'id' => '22144',
't' => 'AAPL',
'e' => 'NASDAQ',
'l' => '374.05',
'l_cur' => '374.05',
's' => '1',
'ltt' => '4:00PM EDT',
'lt' => 'Sep 2, 4:00PM EDT',
'c' => '-6.98',
'cp' => '-1.83',
'ccol' => 'chr',
'el' => '371.45',
'el_cur' => '371.45',
'elt' => 'Sep 6, 6:02AM EDT',
'ec' => '-2.60',
'ecp' => '-0.70',
'eccol' => 'chr',
'div' => '',
'yld' => '',
)),
)
json_decode
문서 : http://php.net/json_decode
소스에서 JSON을 주석 처리합니다. 그들이 그것을하는 것은 꽤 이상하다. 그러나 어떻게해서든지 처음에는 그것을 // 망치고있다.
$url = 'http://finance.google.com/finance/info?client=ig&q=NASDAQ:MSFT,NASDAQ:GOOG,NASDAQ:AAPL';
$json = preg_replace('#^\s+//#', '', file_get_contents($url));
$decoded = json_decode($json);
var_dump($decoded);
,'substr ($ json_data, 2)'충분, 조금 과부하 것 ... – feeela
당신은 당신을 생각하지 않을까요? 그러나 그렇지 않습니다. trim()은 불필요한 함수입니다. –
regex - 그것을 사용하거나 느슨하게 :) –
http://php.net/json_decode –
무엇을 시도 했습니까? 여기를 보셨습니까 http://www.php.net/manual/en/function.json-decode.php – wgcrouch
http://php.net/json_decode 그리고 아마도 콘텐츠의 첫 두 개 또는 세 문자를 자르십시오 먼저. – choise