我们在进行系统开发时,特别是在用到ajax技术开发时频繁会遇到JS对象和JSON格式数据的相互转换d的问题。其实,也就是两个问题:JS对象转换成为JSON格式数据、JSON格式数据转换成为JS对象
目前的项目数据交互几乎都用JQuery,所以处理流程是:前端页面数据-》JS对象-》jQuery提交-》python处理,另外一种就是倒过来。python肯定不能直接处理JS对象数据,所以要把JS对象转换成为python能处理的一种数据格式(通常是字典dict),同样,python取数据反馈到前端也要把字典数据转换成JS能处理的对象,这个中间转换数据格式通常就是JSON。
一、JS对象转换成为JSON
流程:读取前端页面数据,组装成为JS对象,并通过jQuery的$.post()办法传递给python。
处理:引用一个json2.js文件,调用JSON.stringify()办法。
比如:
var data = new ob ject();
var json_data = JSON.stringify(data);
读取:python这里就很简单了,用dict_data = json.loads(json_data)就OK了
二、JSON转换成为JS
流程:python组装一个dict数据并转成JSON格式传递给前端,或者前端通过jQuery的$.getJSON()办法直接读取这个JSON格式的数据
处理:用jQuery的一个办法$.parseJSON()将JSON格式的数据转成JS对象。
比如:
var json_data = $.getJSON();
var data = $.parseJSON(json_data);
读取:JS对像的操作就不必多说了
这里,python要把字典转换成JSON格式数据,用json.dumps()这个办法就行了
PS:json2.js这个文件在网上搜一下就能下载到。