json

PHP json_decode from POST variable produced by JavaScript

I had issues with perfectly looking JSON string received from a POST. Not in any way using Chrome devtools (F12) nor saving the source from the browser and using Notepad I could detect that the double quotes actually was not real quotes until I investigated the the ASCII value using ord() and substr() and it returned 38 as in "&", then I understood it was a HTML entity.

Converting the JSON with html_entity_decode() made the trick.

Drupal 6 json API

This is how you can create a API returning json in Drupal 6.

function adwords_url_check($type = FALSE){
$matches = array();

if($result = db_query("SELECT n.nid, field_mcc_id_value, field_account_id_value, field_receiver_email_value, field_last_sent_email_value, field_interval_days_value FROM {node} AS n LEFT JOIN {content_type_adwords_url_check} USING(vid) WHERE n.status = 1 AND n.type = 'adwords_url_check'")) {
while ($data = db_fetch_array($result)) {
array_push($matches, $data);
}
}

if ($type == "serialized") {
print serialize($matches);
exit;