7:JSON-Java Spring

简介: 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"}}
目录
相关文章
|
27天前
|
人工智能 Java API
构建基于Java的AI智能体:使用LangChain4j与Spring AI实现RAG应用
当大模型需要处理私有、实时的数据时,检索增强生成(RAG)技术成为了核心解决方案。本文深入探讨如何在Java生态中构建具备RAG能力的AI智能体。我们将介绍新兴的Spring AI项目与成熟的LangChain4j框架,详细演示如何从零开始构建一个能够查询私有知识库的智能问答系统。内容涵盖文档加载与分块、向量数据库集成、语义检索以及与大模型的最终合成,并提供完整的代码实现,为Java开发者开启构建复杂AI智能体的大门。
762 58
|
15天前
|
消息中间件 缓存 Java
Spring框架优化:提高Java应用的性能与适应性
以上方法均旨在综合考虑Java Spring 应该程序设计原则, 数据库交互, 编码实践和系统架构布局等多角度因素, 旨在达到高效稳定运转目标同时也易于未来扩展.
74 8
|
1月前
|
监控 Java 数据库
从零学 Dropwizard:手把手搭轻量 Java 微服务,告别 Spring 臃肿
Dropwizard 整合 Jetty、Jersey 等成熟组件,开箱即用,无需复杂配置。轻量高效,启动快,资源占用少,内置监控、健康检查与安全防护,搭配 Docker 部署便捷,是构建生产级 Java 微服务的极简利器。
134 2
|
2月前
|
前端开发 Java 开发者
Java新手指南:在Spring MVC中使用查询字符串与参数
通过结合实际的需求和业务逻辑,开发者可以灵活地利用这些机制,为用户提供更丰富而高效的Web应用体验。
99 15
|
3月前
|
JSON 前端开发 Java
Java新手指南:如何在Spring MVC中处理请求参数
处理Spring MVC中的请求参数是通过控制器方法中的注解来完成的。这些注解包括 `@RequestParam`, `@PathVariable`, `@ModelAttribute`, `@RequestBody`, `@RequestHeader`, `@Valid`, 和 `@RequestMapping`。使用这些注解可以轻松从HTTP请求中提取所需信息,例如URL参数、表单数据或者JSON请求体,并将其转换成Java对象以供进一步处理。
327 17
|
3月前
|
安全 Java 微服务
Java 最新技术和框架实操:涵盖 JDK 21 新特性与 Spring Security 6.x 安全框架搭建
本文系统整理了Java最新技术与主流框架实操内容,涵盖Java 17+新特性(如模式匹配、文本块、记录类)、Spring Boot 3微服务开发、响应式编程(WebFlux)、容器化部署(Docker+K8s)、测试与CI/CD实践,附完整代码示例和学习资源推荐,助你构建现代Java全栈开发能力。
436 0
|
2月前
|
Cloud Native Java API
Java Spring框架技术栈选和最新版本及发展史详解(截至2025年8月)-优雅草卓伊凡
Java Spring框架技术栈选和最新版本及发展史详解(截至2025年8月)-优雅草卓伊凡
421 0
|
4月前
|
IDE Java 数据库连接
解决Java环境中无法识别org.mybatis.spring.annotation.MapperScan的问题。
祝你好运,在这场MyBatis的魔法冒险中获得胜利!记住,魔法书(官方文档)永远是你最好的朋友。
345 18