2011-08-22 63 views
1

我能夠將硬編碼的json字符串轉換爲perl哈希,但是如果我想將完整的json文件轉換爲可以稍後解析的perl數據結構任何方式,我都會遇到錯誤。 畸形JSON字符串,既不陣列,對象,數字,字符串或原子,在字符在json_vellai.pl線9我將從服務器返回的json文件轉換爲perl數據結構

use JSON::PP; 
$json= JSON::PP->new() 

$json = $json->allow_singlequote([$enable]); 

open (FH, "jsonsample.doc") or die "could not open the file\n"; 

#$fileContents = do { local $/;<FH>}; 

@fileContents = <FH>; 

#print @fileContents; 

$str = $json->allow_barekey->decode(@filecontents); 

foreach $t (keys %$str) 

{ 


print "\n $t -- $str->{$t}"; 

} 

這是我的代碼看起來如何偏移0(「(字符串的結束)」之前)。 。plz幫我出

回答

2

它在我看來像decode不想要一個列表,它想要一個標量字符串。

你可以發出聲音文件:

undef $/; 
$fileContents = <FH>; 
+2

它通常是本地化的改變Perl的特殊全局變量是一個好主意,例如:'我的$ fileContents = {做本地($ /); };'注意局部隱式undef的參數。 –

相關問題