版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xuxin132133/article/details/84315564
首先引入maven依赖:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.4</version>
</dependency>
一、java后端对json数据处理
1、JSON字符串转化为实体对象
String a="{\"address\":\"南京\",\"age\":20,\"name\":\"张三\"}";
//转化为Object对象
//Object o=JSON.parse(a);
Person person=JSON.parseObject(a,Person.class);
System.out.println(p);
output: Person{id=null, name='张三', age=20, address='南京'}
2、在json对象中获取json数组
JSONArray jsonArray=JSON.parseObject(a).getJSONArray("address");
3、json数组获取json对象
JSONObject jsonObject=JSONArray.parseObject("station");
4、实体类转化为json对象
Person p=new Person();
p.setName("张三");
p.setAddress("南京");
p.setAge(20);
String s=JSON.toJSONString(p);
System.out.println(s);
output:{"address":"南京","age":20,"name":"张三"}
二、js中对json数据的处理
json字符串转换为json对象:
<script language="JavaScript">
//json字符串
var a="{'address':'南京','age':20,'name':'张三'}";
//json字符串转换为json对象
var object=eval('('+a+')');
alert(object.age);
alert(object.address);
</script>
json对象转换为json字符串
<script language="JavaScript">
//json对象
var b={'address':'南京','age':20,'name':'张三'};
//json对象转换为字符串
var str=JSON.stringify(b)
alert(str)
</script>
遍历json对象数组
<script language="JavaScript">
var packJson = [{"name":"phpernote", "password":"111"},{"name":"phpernote", "password":"111"},{"name":"phpernote", "password":"111"}];
for(var i=0;i<packJson.length;i++){
alert(packJson[i].name+" "+packJson[i].password)
}
//或者用$.each函数遍历
$.each(packJson,function (idx,obj) {
alert(idx+ " "+obj.name+ " "+obj.password)
})
</script>
ajax获取数据,js解析json数组文件(这里做数组演示):
<script language="JavaScript">
var phone=['123456789','123456789','123456789','123456789','123456789','123456789','123456789','123456789','123456789','123456789',]
/* var phone=[];*/
//ajax异步请求,获取数据
$(function () {
$.ajax({
data:{"phoneNums":"12"//号码数量
},
url:'自定义对应自己controller中定义的路径',
datatype:'json',
success:function (result) {
},
error:function (error) {
}
})
var strhtml="";
if(phone.length>0){
for(var i=0;i<phone.length;i++){
if(i%2===0){
strhtml+="<tr>"
}
var length=phone[i].length-6;
strhtml+="<td>"+phone[i].substr(0,9-length)+"<span>"+phone[i].substring(9-length,10)+"</span>"
if(i%2===1){
strhtml+="</tr>"
}
}
}else {
strhtml+="<tr><td colspan='2'>暂时没有数据</td></tr>"
}
$("table").append(strhtml)
})
</script>