某某茶叶有限公司欢迎您!
金沙棋牌在线 > 服务器&运维 > JS对象与JSON格式数据相互转换_json_脚本之家

JS对象与JSON格式数据相互转换_json_脚本之家

时间:2019-11-27 20:39

如果某个一级评分项包含评分子项,则点击该评分项时,再弹出一个新窗口,新窗体中列出了当前评分项的所有评分子项列表,供用户进行操作。用户操作完成后,点击“确定”按钮,则返回到父窗体,在子窗体中所有的操作结果,同时要带到父窗体中。同时,如果用户再次点击该评分项,则在弹出子窗体的同时,要将上次操作的结果绑定到对应的操作项上。 上面描述的例子,就涉及到了一个父子窗体间的数据传递。如何实现这一数据传递,当然有很多方法。这里只是记录一下在这个例子中我使用的方法。我的方法是在子窗体点击“确定”按钮时,将操作结果构造成json格式的字符串,通过调用父窗体上的方法:opener.方法(),将json格式数据传递到父窗体上。 此例中构造的json数据类似如下格式: {"MyData":[ {"bh":"111","lx":"1","df":"10","bz":"aaa"}, {"bh":"112","lx":"2","df":"20","bz":"bbb"}, {"bh":"113","lx":"2","df":"30","bz":"ccc"} ]} 此处子项打分需要保持的分别是bh:编号;lx:类型;df:得分;bz:备注。 按照自己的需要,可以再自己增加需要保持的项。构造此json数据可以放在前台,也可以放在后台。 在此例中,我是放置后台的。代码如下: 复制代码 代码如下: StringBuilder jsonBuilder = new StringBuilder(); jsonBuilder.Append; jsonBuilder.Append; jsonBuilder.Append; int k = bh.Split.Length + 1; for (int i = 0; i < bh.Split { tem += "update KH_金沙棋牌在线,PFX set DF = '"+EncriptLib.EncriptLib.EncodeCode(Convert.ToDouble[i].ToString+"',"; tem += "BZ = '"+bz.Split.Trim()+"',PFRXM = '"+Session["XM"].ToString()+"',"; tem += "PFRBH = '"+Session["YHBH"].ToString()+"',PFRQ = to_date('"+DateTime.Now.ToShortDateString"; tem += " where BH = '"+bh.Split.Trim()+"'"; tem += "卐"; //此处用此特殊的符号来分隔sql语句 jsonBuilder.Append("{"bh":" + """ + bh.Split.Trim; jsonBuilder.Append(""lx":" + """ + lx.Split.Trim; jsonBuilder.Append(""df":" + """ + df.Split.Trim; jsonBuilder.Append(""bz":" + """ + bz.Split.Trim; } if { jsonBuilder.Remove(jsonBuilder.Length - 1, 1); jsonBuilder.Append; jsonBuilder.Append; Page.ClientScript.RegisterClientScriptBlock, "cg", "

服务端后台返回到客户端的JSON格式字符串: var str = '[{"uname":"王强","day":"2010/06/17"},{"uname":"王海云","day":"2010/06/11"}]'; 我们把它转换成JSON对象:var jsonList=eval;这时候如果以用断点跟踪查看这个jsonList对象,其实你会发现,他的长度为2,即jsonList.length=2。它的每一项都是一个单独的JSON对象。请看下图: 这时候假设我们不知道"uname"和"day"这两个key值,我们开始对jsonList执行循环操作。 复制代码 代码如下: for(var i=0;i

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