将后台数据返回的两类数据转换成键值对应的json格式
来源:互联网 发布:java 转int 编辑:程序博客网 时间:2024/05/17 20:34
使用js进行string和json之间转换的方法
在数据传输过种中,json是以文本,即字符串的形式传递,字符串形似Json对象: var str1 = '{ "name": "Amy", "sex": "woman" }'; console.log(typeof str1); 经实验类型是string;
而在实际的项目中如果想获取其中的name和sex的值时要使用Json对象,通过str1.name、str1.sex这样的方式来获取,这样就须把string类型转换成Json对象。
一、string类型转换成Json对象方法
1、Javascript支持的转换方式:eval
eval('(' + jsonstr + ')');
注意:需要在json字符外包裹一对小括号,ie8(兼容模式),ie7和ie6也可以使用eval()将字符串转为JSON对象,但不推荐这些方式;缺点是不安全,eval会执行json串中的表达式。
2、浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,ie8)等浏览器:
JSON.parse(jsonstr); //可以将json字符串转换成json对象
相反浏览器也提供了将Json对象转换成string类型的方法:
JSON.stringify(jsonstr);//可以将json对象转换成json对符串
3、jQuery插件支持的转换方式:
$.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象
4、JSON官方的转换方式:
http://www.json.org/提供了一个json.js,这样ie8(兼容模式),ie7和ie6就可以支持JSON对象以及其stringify()和parse()方法;
可以在https://github.com/douglascrockford/JSON-js上获取到这个js,一般现在用json2.js。
二、Json对象转换成String字符串方法
上面提到的浏览器支持的转换方式JSON.stringify(str):
JSON.stringify(jsonstr);//可以将json对象转换成json对符串
将后台数据返回的两类数据转换成键值对应的json格式,方便查找
var $urlsMap = new Array();
$.get("home/frame/list",{},function (res){
var mainArr,childArr,$urlsHash,$urlsName;
mainArr = res;
var str = "{";
for( var i in mainArr )
{//遍历所得的json
//获得所有child
childArr = mainArr[i].child;
for( var j in childArr )
{//遍历所有child
if(childArr[j])
{//判断child是否存在
//获取当前child的url值
$urlsHash = childArr[j].url;
//获取当前child的title值
$urlsName = childArr[j].title;
//{"name":["value"],"name":["value"]}
var arr = '"' + [ $urlsHash + '"' +
':' +
'"' + $urlsName + '"' ];
str += arr+",";
}
}
}
str += "}";
$urlsMap = StrToJSON(str);
},'json');
/*str转换成json*/
function StrToJSON(str) {
json = eval('('+str+')');
return json;
}
- 将后台数据返回的两类数据转换成键值对应的json格式
- 将 键值对的数据 拼成 json 格式的 串
- SSM将后台获取的数据转换成json格式传递到前台页面
- 将map型数据转换成json格式的字符串
- 将XML形式的数据转换成Json格式
- Ajax调用查看页面的后台返回json格式数据
- JS解析后台返回的JSON格式数据
- springmvc两种返回json格式的数据
- 一种将list转换成hashmap的笨办法 其实是将json类型数据转换成键值对
- android 将数据转换成JSON数据格式并使用JSONObject解析JSON格式的数据
- SpringMVC返回json数据的日期格式统一转换
- 将json格式的无层级菜单数据转换成层级菜单数据的方法
- NSDictionary转换成json格式的数据
- 数组转换成json格式的数据
- 将JSON格式数据转换成适用于SimpleAdapter的数据形式List<Map<String, String>>
- 整存取 后台 返回的JSON 数据
- 后台获取的json数据转换成树结构数据
- 后台返回json格式数据日期格式化
- Android Framework 编译流程
- 设计模式之单例模式
- 文章标题
- 如何让两个Div处于同一行
- QQ地图webservice使用方法
- 将后台数据返回的两类数据转换成键值对应的json格式
- TensorFlow 如何避免重复下载数据 ——转自 慢慢学TensorFlow 微信公众号
- java中父进程与子进程
- Eclipse快捷键
- InnoDB还是MyISAM 再谈MySQL存储引擎的选择
- Fullpage 插件配置项
- 机器学习的数学基础:向量篇
- nvm报错 ERROR open \settings.txt: The system cannot find the file specified
- 关于Genymotion 启动后 Android studio 找不到设备的问题(补图)