JS: Json数据 转字符串存储到后台;后台取出该字符串 转Json对象

概述

Python-Django项目中用到从前端存储列表数据到后端存储到数据库;后端将列表数据重新从数据库取出后,用json.dumps()处理后发给前端,JS将该列表数据还原后使用。

  • PS-1:试了很多方法,JS调用列表数据总是失败;
  • PS-2:部分数据中存在中文,其key, value皆需使用双引号包裹;

前端给后端JS字符串数据

        var lst_table_meter_para = "";
        data_rows = document.getElementById("table_meter_para").rows;
        for( var n_row = 1; n_row < data_rows.length; n_row++ )
        {
            lst_table_meter_para = lst_table_meter_para +
                                "{\"meter_no\":"+data_rows[n_row].cells[0].innerHTML
                                + ",\"meter_name\":\"" + data_rows[n_row].cells[1].innerHTML
                                + "\",\"meter_type\":" + data_rows[n_row].cells[2].innerHTML
                                + ",\"meter_address\":\"" + data_rows[n_row].cells[3].innerHTML
                                + "\",\"inner_no\":" + data_rows[n_row].cells[3].innerHTML
                                + ",\"process_flag\":" + data_rows[n_row].cells[3].innerHTML
                                + ",\"check_flag\":" + data_rows[n_row].cells[3].innerHTML
                                + ",\"voltage_level\":" + data_rows[n_row].cells[3].innerHTML
                                + "}###";
        }

前端处理后端发来的字符串为Json对象

var lst_meter_param = request_details.meter_param.split('###');
for( var n = 0; n < lst_meter_param.length - 1; n++ )
{
        var meter_param_i = lst_meter_param[n];
        console.log( JSON.parse( meter_param_i ) );
}

猜你喜欢

转载自blog.51cto.com/weiyuqingcheng/2552835