В том то и дело что кода, рубящего какие либо символы нет.
Есть JSON в виде текста упакованные в другой JSON
"rule_array": [
[
"6",
"Правило включения - выключения вентилятора (на логику)",
"{\"type\":\"on_off\",\"list_rules\":[{\"logic_element\":{\"arr_logic_name\":[\"sk_vent\",\"pvv\",\"zaslonki\",\"sz\",\"ss\",\"ks\"],\"arr_logic_value\":[\"0\",\"right\",\"hidden@@visible\",\"u0417u0430u043au0440.\",\"hidden\",\"hidden\"]},\"condition\":{\"arr_cond_register_name\":[\"sk_vent\",\"s_zas\"],\"arr_cond_register_val\":[\"0\",\"0\"]},\"alert_log\":{\"log_type_num\":\"\"},\"event_log\":{\"log_type_num\":\"2\"},\"data_log\":{\"log_type_num\":\"\"},\"command_log\":{\"log_type_num\":\"\"},\"send_mail\":{\"id_recipient\":\"\",\"theme\":\"\",\"text\":\"\"},\"send_sms\":{\"id_recipient\":\"\",\"theme\":\"\",\"text\":\"\"},\"exec_rule\":\"id_rule\"},{\"logic_element\":{\"arr_logic_name\":[\"sk_vent\",\"pvv\",\"zaslonki\",\"sz\",\"ss\",\"ks\"],\"arr_logic_value\":[\"1\",\"left\",\"visible@@hidden\",\"u041eu0442u043au0440.\",\"visible\",\"visible\"]},\"condition\":{\"arr_cond_register_name\":[\"sk_vent\",\"s_zas\"],\"arr_cond_register_val\":[\"1\",\"1\"]},\"alert_log\":{\"log_type_num\":\"\",\"log_text\":\"\"},\"event_log\":{\"log_type_num\":\"1\",\"log_text\":\"\"},\"data_log\":{\"log_type_num\":\"\",\"log_text\":\"\"},\"command_log\":{\"log_type_num\":\"\",\"log_text\":\"\"},\"send_mail\":{\"id_recipient\":\"\",\"theme\":\"\",\"text\":\"\"},\"send_sms\":{\"id_recipient\":\"\",\"theme\":\"\",\"text\":\"\"},\"exec_rule\":\"id_rule\"}]}",
null,
"2"
]
В базе, откуда берётся "вложенный" JSON, никаких кавычек нет. Их автоматически создаёт
json_encode($admin_sens_save ->arr_json_ans,JSON_UNESCAPED_UNICODE)
а JSON.parse легко превращает в объект без искажений. Но вот когда приходит очередь отправлять исправленный объект обратно в базу с помощью JSON.parse, он начинает каверкать русский текст и удалять символы + и - если такие есть в значениях.
Вот почему это происходит - вопрос.