2013-06-13 3 views
1

JSON 문자열을 파일에 저장하고 다시 읽으려고합니다. 웬일인지 그것을 읽지 않을 것이다. jsonlint.com이 유효한 JSON이라고 알려줍니다.유효한 JSON이 jQuery.parseJSON()과 작동하지 않습니다.

다음은 JSON 문자열입니다 :

{"userdef":{"vlan10":{"dfault":{"down":{"rate":"876","ceil":"876"},"up":{"rate":"876","ceil":"876"}},"upsell":{"down":{"rate":"876","ceil":"876"},"up":{"rate":"876","ceil":"76"}}},"br0":{"dfault":{"down":{"rate":"798","ceil":"987"},"up":{"rate":"987","ceil":"987"}},"upsell":{"down":{"rate":"98","ceil":"987"},"up":{"rate":"987","ceil":"89"}}},"br1":{"dfault":{"down":{"rate":"3","ceil":"654"},"up":{"rate":"654","ceil":"63"}},"upsell":{"down":{"rate":"65","ceil":"4"},"up":{"rate":"646","ceil":"5"}}},"eth3":{"dfault":{"down":{"rate":"65","ceil":"7876"},"up":{"rate":"7657","ceil":"5"}},"upsell":{"down":{"rate":"7865","ceil":"7"},"up":{"rate":"7","ceil":"5"}}}}} 

여기에 자바 스크립트/PHP 코드입니다 :

<? 
if (file_exists('/tmp/qosconfig.conf')) 
{ 
?> 
var config = jQuery.parseJSON('<?=file_get_contents("/tmp/qosconfig.conf");?>');  
<? 
} 
?> 
+2

저에게는 효과적입니다. 생성 된 소스를 읽습니다. – SLaks

+1

/tmp/qosconfig.conf에 추가 공백이나 BOM이있어 문제를 일으킬 수 있습니까? – Orangepill

+0

나는 그것을하기 위해 jQuery에 의존하기보다는'JSON.parse()'와'JSON.stringify()'를 사용하려고 시도했다. –

답변

0

이이 일의 다소 이상한 방법입니다. PHP에서 JSON 문자열을 사용할 수있는 경우 파싱 단계를 저장하는 객체 리터럴로 javascript에 출력 할 수 있습니다.

<? 
if (file_exists('/tmp/qosconfig.conf')) { 
    $json = file_get_contents('/tmp/qosconfig.conf'); 
?> 
var config = <?php echo $json; ?>;  
<? 
} 
?> 
관련 문제