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");