前端json解析

weblogic部署出现返回值无法解析 ,解决如下

<script type="text/javascript">

$(window).load(function(){
	
	$.ajax({
	    type: "post",
	    url: "${base}/json",
	    data: {'uid':'333'},
	    async: true,
        dataType:'json',
	    success: function (data) {
	    	
	 	   if((typeof data=='object') && data.constructor==Object){
	        	data=data;
	        }else{
                    //推荐这种方式
	                dataStr = JSON.stringify(data);
	               	data = $.parseJSON(dataStr);
	        }
	 	   
	 	  alert(data);
	 	  alert(data.data);

	    }
	});
})
</script>

 

 

1:jQuery插件支持的转换方式

代码如下:

//String→Object
$.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象

反过来,使用 serialize 系列方法:如:var fields = $("select, :radio").serializeArray(); 序列化表单

2:浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,ie8)

代码如下:

//String→Object
JSON.parse(jsonstr); //可以将json字符串转换成json对象

//Object→String
JSON.stringify(jsonobj); //可以将json对象转换成json对符串

注:ie8(兼容模式),ie7和ie6没有JSON对象,需要引入 json.js 或 json2.js。

3:Javascript支持的转换方式 

//String→Object

eval('(' + jsonstr + ')'); //可以将json字符串转换成json对象,注意需要在json字符外包裹一对小括号 


注:ie8(兼容模式), ie7和ie6也可以使用eval()将字符串转为JSON对象

这种方式不安全,eval会执行json串中的表达式。

 

json数组解析

var jsonStr = '[{"id":"01","open":false,"pId":"0","name":"A部门"},{"id":"01","open":false,"pId":"0","name":"A部门"},{"id":"011","open":false,"pId":"01","name":"A部门"},{"id":"03","open":false,"pId":"0","name":"A部门"},{"id":"04","open":false,"pId":"0","name":"A部门"}, {"id":"05","open":false,"pId":"0","name":"A部门"}, {"id":"06","open":false,"pId":"0","name":"A部门"}]';
var jsonObj =  JSON.parse(jsonStr);//转换为json对象
for(var i=0;i<jsonObj.length;i++){
        alert(jsonObj[i].id);  //取json中的值
}

console.log(jsonObj)
var jsonStr1 = JSON.stringify(jsonObj)
console.log(jsonStr1+"jsonStr1")

//json数组类型字符串取值

 

 

前端js拼接Json字符串

# 数组
 var param = [];
 param.push("one");
 param.push("two");
 param.push("three");

# 对象
var obj = {};
if (this.form.id) {
    obj['id'] = this.form.id
  }
if (this.form.userName) {
    obj['userName'] = this.form.userName
  }

 

https://www.cnblogs.com/Dumb-dog/p/11511692.html

FormData  前端类属性拼接, hashmap

FormData的主要用途

1、将form表单元素的name与value进行组合,实现表单数据的序列化,从而减少表单元素的拼接,提高工作效率。
2、异步上传文件

//通过FormData构造函数创建一个空对象
var formdata=new FormData();
//可以通过append()方法来追加数据
formdata.append("name","laotie");
//通过get方法对值进行读取
console.log(formdata.get("name"));//laotie
//通过set方法对值进行设置
formdata.set("name","laoliu");
console.log(formdata.get("name"));//laoliu

//删除key为name的值
formdata.delete("name");

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值