7:JSON-Java Spring

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: 7:JSON-Java Spring

7.1 JSON介绍

JSON即JavaScript 对象标记法(JavaScript Object Notation)是一种轻量级的数据交换格式,它采用完全独立于编程语言的文本格式来存储和表示数据,是一种存储和交换数据的语法

JSON易于人阅读和编写的同时,便于机器解析和生成,可有效地提升网络传输效率,是理想的数据交换语言

7.2 JSON和XML的区别

XML即扩展标记语言(Extensible Markup Language),用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言

  • XML 文件格式复杂,标记比数据多,传输占带宽
  • JSON 数据格式易于读写,没有附加标记,占用带宽小
  • XML可以作为跨平台的数据交换格式,数据共享方便
  • JSON数据加载更快、更简单
  • XML 需要使用 XML 解析器来解析,在JS中处理不方便
  • JSON 可以使用JS来解析
{"name":[
    { "firstName":"JSON", "lastName":"实例" },
]}
<sites>
    <name>
         <firstName>XML</firstName>
         <lastName>实例</lastName>
  </name>
</sites>

7.3 JSON的构成

JSON数据书写格式是key : value,其值(value)可以是

  • 对象(object)
  • 数组(array)
  • 数值(number)
  • 字符串(string)
  • 逻辑值(true 或 false)
  • null

7.4 JSON的语法

在 JSON 中,字符串值必须由双引号编写

{ "name":"Yeats" }

在 JavaScript 中,可以使用单引号或双引号的字符串值

{ name:'Yeats' }
{ name:"Yeats" }
{ "name":"Yeats" }

通过JSON 使用 JavaScript 语法可以创建一个对象数组并赋值

//对象
var obj = JSON.parse('{ "name":"Yeats", "age":18, "address": {"country" : "C" } }');
//数字
{ "age":18 }
//数组
{
"sites":[3, 1, 4, 1, 5, 9, 2, 6]
}

7.5 JSON.parse()

JSON 通常用于与服务端进行数据传输,在接收Web服务器数据时一般是字符串

JSON.parse() 方法是JavaScript的函数,把数据解析为 JavaScript 对象

JSON.parse(text[, reviver])
  • text 必需, 一个有效的 JSON 字符串
  • reviver 可选,一个转换结果的函数, 将为对象的每个成员调用此函数

从 Web 服务器接收到的数据:

'{ "name": "Yeats", "age": 18, "address": {"country" : "china"}'

使用JSON.parse() 把数据解析为 JavaScript 对象

var obj = JSON.parse('{ "name":"Yeats", "age":18, "address": {"country" : "C" } }');
<p id="demo"></p>
<script>
var obj = JSON.parse('{ "name":"Yeats", "age":18, "address": {"country" : "C" } }');
document.getElementById("demo").innerHTML = obj.name + ":" + obj.address.country;
</script>
//接受的数据
Yeats:C

7.6 JSON.stringify()

JSON 通常用于与服务端进行数据传输,向Web服务器发送数据时一般是字符串

JSON.stringify() 方法是JavaScript的函数,把 JavaScript 对象解析为字符串

JSON.stringify(value[, replacer[, space]])
  • value 必需, 要转换的 JavaScript 值
  • replacer 可选,一个转换结果的函数, 将为对象的每个成员调用此函数
  • space 可选,文本添加缩进、空格和换行符

向 Web 服务器发送的数据:

var obj = { "name":"Yeats", "age":18, "address": {"country" : "C" } };

使用JSON.parse() 把 JavaScript 对象解析为字符串

var obj = JSON.stringify({ "name":"Yeats", "age":18, "address": {"country" : "C" } });
<p id="demo"></p>
<script>
var obj =JSON.stringify({ "name":"Yeats", "age":18, "address": {"country" : "C" } });
document.getElementById("demo").innerHTML = obj;
</script>
//接受的数据
{"name":"Yeats","age":18,"address":{"country":"C"}}
目录
相关文章
|
1月前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
71 2
|
19天前
|
Java 开发者 微服务
Spring Boot 入门:简化 Java Web 开发的强大工具
Spring Boot 是一个开源的 Java 基础框架,用于创建独立、生产级别的基于Spring框架的应用程序。它旨在简化Spring应用的初始搭建以及开发过程。
38 6
Spring Boot 入门:简化 Java Web 开发的强大工具
|
1月前
|
人工智能 前端开发 Java
基于开源框架Spring AI Alibaba快速构建Java应用
本文旨在帮助开发者快速掌握并应用 Spring AI Alibaba,提升基于 Java 的大模型应用开发效率和安全性。
基于开源框架Spring AI Alibaba快速构建Java应用
|
2月前
|
前端开发 Java 数据库连接
Spring 框架:Java 开发者的春天
Spring 框架是一个功能强大的开源框架,主要用于简化 Java 企业级应用的开发,由被称为“Spring 之父”的 Rod Johnson 于 2002 年提出并创立,并由Pivotal团队维护。
76 1
Spring 框架:Java 开发者的春天
|
2月前
|
Java 数据库连接 开发者
Spring 框架:Java 开发者的春天
【10月更文挑战第27天】Spring 框架由 Rod Johnson 在 2002 年创建,旨在解决 Java 企业级开发中的复杂性问题。它通过控制反转(IOC)和面向切面的编程(AOP)等核心机制,提供了轻量级的容器和丰富的功能,支持 Web 开发、数据访问等领域,显著提高了开发效率和应用的可维护性。Spring 拥有强大的社区支持和丰富的生态系统,是 Java 开发不可或缺的工具。
|
2月前
|
JSON Java Maven
实现Java Spring Boot FCM推送教程
本指南介绍了如何在Spring Boot项目中集成Firebase云消息服务(FCM),包括创建项目、添加依赖、配置服务账户密钥、编写推送服务类以及发送消息等步骤,帮助开发者快速实现推送通知功能。
109 2
|
1月前
|
Java 数据库连接 API
Spring 框架的介绍(Java EE 学习笔记02)
Spring是一个由Rod Johnson开发的轻量级Java SE/EE一站式开源框架,旨在解决Java EE应用中的多种问题。它采用非侵入式设计,通过IoC和AOP技术简化了Java应用的开发流程,降低了组件间的耦合度,支持事务管理和多种框架的无缝集成,极大提升了开发效率和代码质量。Spring 5引入了响应式编程等新特性,进一步增强了框架的功能性和灵活性。
44 0
|
2月前
|
存储 人工智能 Java
将 Spring AI 与 LLM 结合使用以生成 Java 测试
AIDocumentLibraryChat 项目通过 GitHub URL 为指定的 Java 类生成测试代码,支持 granite-code 和 deepseek-coder-v2 模型。项目包括控制器、服务和配置,能处理源代码解析、依赖加载及测试代码生成,旨在评估 LLM 对开发测试的支持能力。
50 1
|
3月前
|
人工智能 开发框架 Java
重磅发布!AI 驱动的 Java 开发框架:Spring AI Alibaba
随着生成式 AI 的快速发展,基于 AI 开发框架构建 AI 应用的诉求迅速增长,涌现出了包括 LangChain、LlamaIndex 等开发框架,但大部分框架只提供了 Python 语言的实现。但这些开发框架对于国内习惯了 Spring 开发范式的 Java 开发者而言,并非十分友好和丝滑。因此,我们基于 Spring AI 发布并快速演进 Spring AI Alibaba,通过提供一种方便的 API 抽象,帮助 Java 开发者简化 AI 应用的开发。同时,提供了完整的开源配套,包括可观测、网关、消息队列、配置中心等。
2824 14
|
2月前
|
Java BI 调度
Java Spring的定时任务的配置和使用
遵循上述步骤,你就可以在Spring应用中轻松地配置和使用定时任务,满足各种定时处理需求。
158 1