2011-09-06 36 views
1

我在解析JSON字符串到我的MYSQL數據庫時遇到問題。 這是發送到服務器的JSON字符串:調用[MARRAY JSonrepresentation]之前將JSON字符串解析爲數據庫

[{"Description":"Detta är mitt quiz!","Title":"Mitt Quiz","Category":"Music","Language":"Swedish","Difficulty":1},{"QuestionNr1":{"WrongAnswer3":"Visby","WrongAnswer1":"Stockholm","RightAnswer":"Uppsala","WrongAnswer2":"Umeå","Question":"Vilken stad bor jag i?"},"QuestionNr2":{"WrongAnswer3":"Visby","WrongAnswer1":"Stockholm","RightAnswer":"Uppsala","WrongAnswer2":"Umeå","Question":"Vilken stad bor jag inte i?"}}] 

這是數據;它

(
    { 
    Category = Music; 
    Description = "Detta \U00e4r mitt quiz!"; 
    Difficulty = 1; 
    Language = Swedish; 
    Title = "Mitt Quiz"; 
}, 
    { 
    QuestionNr1 =   { 
     Question = "Vilken stad bor jag i?"; 
     RightAnswer = Uppsala; 
     WrongAnswer1 = Stockholm; 
     WrongAnswer2 = "Ume\U00e5"; 
     WrongAnswer3 = Visby; 
    }; 
    QuestionNr2 =   { 
     Question = "Vilken stad bor jag inte i?"; 
     RightAnswer = Uppsala; 
     WrongAnswer1 = Stockholm; 
     WrongAnswer2 = "Ume\U00e5"; 
     WrongAnswer3 = Visby; 
    }; 
} 

我使用ASIHTTPRequest的POST方法,但不知道如何獲得這個在服務器端,並與PHP到我的數據庫解析它。

有人能指出我正確的方向,我會非常高興!

//謝謝!

回答

0

除非你POST荷蘭國際集團的JSON字符串在命名變量,其內容將在請求負載可用,可讀從stdin

// Read contents from stdin 
$json_string = file_get_contents('php://input'); 

如果你要發送的JSON字符串作爲命名後的變量,它的內容是$_POST['varname']

要解析PHP中的JSON字符串,您將使用json_decode函數。解析成功可以使用json_last_error函數進行檢查。

// Parse a JSON-string into PHP native equivalents 
$json_parsed = json_decode($json_string); 

if (json_last_error() === JSON_ERROR_NONE) { 
    var_dump($json_parsed); 
} else { 
    // Error parsing JSON 
}