前端 JSON

本文详细介绍了JSON作为轻量级数据交换格式的特点,包括其与JavaScript对象的紧密关系,如何创建和访问JSON对象及数组。还展示了如何使用Jackson等工具包在Java中进行JSON对象的转换,并提供了JavaScript中将JSON字符串解析为对象和对象转换为JSON字符串的方法。此外,还提及了在实际应用中如何处理日期格式和自定义时间格式。
摘要由CSDN通过智能技术生成

json

json是js对象标记语言 轻量级数据交换格式 是js的一个字符串表示法

json中一切都是对象

  • 对象表示为键值对
  • 数据用逗号分隔
  • 花括号保存对象
  • 方括号保存数组

js var user= {name:“fanshuai”,age:21,sex:男};

fastjson jackson(阿里的包) json的工具包

注解实现 @ResponseBody 将服务端返回的对象转换成json对象 返回到页面

​ @ RequestBody 接收前端传来的接送数据 把json数据自从封装到pojo中

@ResponseBody
public String json1() throsws JsonProcessingException{
	//需要一个jackson的对象映射器 使用它可以直接将对象转换成json字符串
	ObjectMapper mapper = new ObjectMapper();
	
	//创建一个对象
	User user = new User("一号",1,男);
	sout(user);
	
	//将java对象转换为json字符串:
	String str = mapper.writeValueAsString(user);
	sout(str);
	
	return str;//注解的作用
}

创建json对象

var gareen = {"name":"盖伦","hp":616};

值可以是任意javascript数据类型,字符串,布尔,数字 ,数组甚至是对象

通过.来访问json的属性
document.write("英雄名称: " + gareen.name + "<``br``>");

document.write(); 页面加载时写入
console.log(gareen);   控制台输出
alert();   //弹窗

创建json数组

通过方括号[] 创建JSON 数组
<script>
var heros=
[
    {"name":"盖伦","hp":616},
    {"name":"提莫","hp":313},
    {"name":"死歌","hp":432},
    {"name":"火女","hp":389}
] 
document.write("JSON数组大小"+heros.length);
</script>

访问json数组
<script>
var heros=
[
    {"name":"盖伦","hp":616},
    {"name":"提莫","hp":313},
    {"name":"死哥","hp":432},
    {"name":"火女","hp":389}
]
document.write( "第4个英雄是:" +  heros[3].name); 
</script>

json对象转换

json和javascript 
	JavaScript对象 分内置对象(Number,String,Array,Date,Math)和自定义对象
	JSON就是自定义对象,只不过是以JSON这样的数据组织方式表达出来
	所以不存在JSON对象与JavaScript对象的转换问题
	
json字符串转化成js对象使用JSON.parse()方法
	<script>
        var s1 = '{"name":"盖伦","hp":"616"}';
        document.write("这是一个JSON格式的字符串:" + s1);
        var gareen = JSON.parse(s1);
        document.write("这是一个JSON对象: " + gareen);
	</script>
	
js转化为json字符串JSON.stringify
	<script>
		var hero = {"name":"盖伦","hp":"616"};
		document.write("这是一个json 对象:"+ hero);
		var heroString = JSON.stringify(hero)
		document.write("这是一个json 字符串:"+ heroString );
	</script>

jsonUtil

public class JsonUtils {
//重写getjson方法 自定义时间格式
    public static String getJson(Object object){
        return getJson(object,"yyyy-MM-dd HH:mm:ss");
    }

    public static String getJson(Object object,String dateFormat){
        ObjectMapper mapper = new ObjectMapper();
        //1.如何让他不返回时间戳!所以我们要关闭它的时间戳功能
        mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS,false);
        //2.时间格式化问题!自定日期格式对象;
        SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);
        //3.让mapper指定时间日期格式为simpleDateFormat;
        mapper.setDateFormat(sdf);

        try {
            return mapper.writeValueAsString(object);
        } catch (JsonProcessingException e) {
            e.printStackTrace();
        }
        return null;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值