我正在使用php服务器实现GCM。 我正在使用JSON获得响应,如下所示:
{"multicast_id":5500424824887517718,"success":1,"failure":1,"canonical_ids":1,"results":[{"message_id":"0:1401303281549959%31e4cc17f9fd7ecd","registration_id":"APA91bGiXGz2KgfS1kELa7YM4VEEnnAk1H2_isOnWzJ0lNCJEmICQhjWaxQXJ0riZatG1LvZSRUYMNHF"},{"error":"NotRegistered"}]}
现在从JSON,我必须检查响应中是否有任何错误。我不知道怎么检查。
修改 我已经明白了如何达到“错误”字段。但现在错误是我无法访问“registration_id”字段。 我只需检查是否在“结果”的任何索引处都存在“registration_id”字段?
请帮助我。
提前致谢。
答案 0 :(得分:2)
查看PHP的json_decode函数。这会将JSON转换为可以查询错误的PHP数组。
http://www.php.net/manual/en/function.json-decode.php
修改强>
$php_array = json_decode('{...}'); // Turn JSON into PHP array
$results = $php_array['results'];
foreach($results as $result) { // Loop through results
if (array_key_exists('registration_id', $result)) { // Check if entry has a registration_id
$registration_id = $result['registration_id']; // Record registration_id
}
}