首页 新闻 会员 周边

将字符串转化为json格式

0
[待解决问题]

比如说原来的参数是通过网址面加参数值来传递的,那么现在我有username='admin'&id='1112'&telephone='1367678976'这个参数,在jquery中又没有函数将这种类型的字符串转换为json格式呢?

mcfer的主页 mcfer | 初学一级 | 园豆:144
提问于:2015-02-04 23:56
< >
分享
所有回答(4)
0

你想把这个username='admin'&id='1112'&telephone='1367678976'变成这样的吗?---》
{username:"admin", id:"1112", telephone:"1367678976"}

玉树临枫 | 园豆:51 (初学一级) | 2015-02-05 08:46
0

你这种格式也是可以通过post的方法传值的

刘宏玺 | 园豆:14020 (专家六级) | 2015-02-05 09:04
0

自己拓展一下呗,不过一般url传参不会太多,没必要

 

天命辉煌 | 园豆:10 (初学一级) | 2015-02-05 09:34

多的h话用json传递吗?

支持(0) 反对(0) mcfer | 园豆:144 (初学一级) | 2015-02-05 09:36

@mcfer: jquery ajax有post和get的方法,都可以用json传值,多的话一般post

支持(0) 反对(0) 天命辉煌 | 园豆:10 (初学一级) | 2015-02-05 09:38

非要用的话

//获取get参数,即获取url传参,json格式
function request() {
    var url = location.href;
    url=decodeURIComponent(url);
    var paraString = url.substring(url.indexOf("?") + 1, url.length).split("&");
    var paraObj = {}
    for (i = 0; j = paraString[i]; i++) {
        paraObj[j.substring(0, j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=") + 1, j.length);
    }
    return paraObj;
    }

 

支持(0) 反对(0) 天命辉煌 | 园豆:10 (初学一级) | 2015-02-05 10:01

@天命辉煌: 

情况是这样的:

在前台表单中,通过

var data = $("#form1").serializeArray();
var str=JSON.stringify(data);获取到了表单对象的序列化字符串如

str='[{"name":"username","value":"555"},{"name":"password","value":"666"},{"name":"telephone","value":"7"}]'

那么我在后台怎么对这个字符串进行解析呢?

支持(0) 反对(0) mcfer | 园豆:144 (初学一级) | 2015-02-05 13:24

@mcfer: 从request中取啊,如果是C#的话

Request.Form["username"]
Request.Form["password"]
Request.Form["teltphone"]

或者MVC直接用FormCollection

支持(0) 反对(0) 天命辉煌 | 园豆:10 (初学一级) | 2015-02-05 14:45

@天命辉煌: 这样也是一种办法。但是如果表单数据太大,这样是不是不好呢

支持(0) 反对(0) mcfer | 园豆:144 (初学一级) | 2015-02-05 15:22

@mcfer: 大一点的数据用post啊,表单数据的传输就这2种,一般表单就算有文本也够了

支持(0) 反对(0) 天命辉煌 | 园豆:10 (初学一级) | 2015-02-05 15:38
0

你可以在前台直接将序列化的json字符串post到后台,后台反序列化这个字符串成对象就行了

最长的路漫漫 | 园豆:252 (菜鸟二级) | 2015-02-06 11:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册