Вы знаете, попробовал кучу комбинаций, думал может проблема во вложенности и не смог повторить чтоб число кодировалось в строку…
По идее я даже понял в чем дело…
В некоторых местах я делал так
$sql = "select ...";
$result_raw = query($sql);
$api_response = array(
"id" => $result_raw["id"],
"filter" => $result_raw["db_filter"]
//...
);
json_encode($api_response);
Но тут же у меня id выбрался из базы как строка…
по идее, если я вручную его приведу к инту в данном случае
$api_response = array(
"id" => intval($result_raw["id"]),
"filter" => $result_raw["db_filter"]
//...
);
То все будет ок, и он отдастся нормально, и тогда не будет нужды вообще исользовать JSON_NUMERIC_CHECK и соответственно
я получу
{
"id": 234, // instead of "id": "234"
"filter": "12" // instead of "filter": "12" with JSON_NUMERIC_CHECK
}
то есть то, что и нужно.
Нада опробовать на том коде, где это не работало.
Вобщем, truekenny, спасибо за наводки =)
>>А если отдавать массив json, а потом указывать тип для каждой переменной отдельно в javascript модуле?
RomanovAS, не понял Вашу мысль, конвертировать на стороне клиента в тот тип, который нужен?