JSON:JavaScript 物件表示法(JavaScript Object Notation)
JSON 語法規則
資料在名稱/值對中
資料由逗號分隔
花括號保存物件
方括號保存陣列
JSON有6種類型的值:
物件、陣列、字串、數字、布林值、null
JSON物件是一個容納「名/值」對的無序集合
名字:任意字串
值:任意類型的JSON值,包括數組和物件(物件中可以嵌入物件)
註:JSON字串必須使用雙引號(單引號會錯誤)
一、物件
javascript建立字面量:
var object = { name:"lily", age:22 };
或:
var object = { "name":"lily", "age":22 };
JSON:
{ "name":"lily", "age":22 }
二、陣列
JSON數組採用的是javascript中數組字面量形式
擴充:
把數組和物件結合起來可以構成更複雜的資料結合
例如:
[ { "name":"lily", "age":22, "job":"docter" }, { "name":"nicy", "age":21, "job":"teacher" }, { "name":"lily", "age":22, "job":"AE" } ]
三、解析與序列化
JSON擁有和javascript類似的語法,可以把JSON資料結構解析成有用的javascript物件
1.JSON物件
收發JSON資料
讀取、寫入、傳送和接收JSON資料物件時,需要轉換成字串,並能從字串轉換為JSON資料物件。 (用於javascript相同的方式讀寫他們)
JSON物件有兩個方法:
① stringify(): 把javascript物件序列化為JSON字串
② parse(): 把JSON字串解析為原生的javascript值
實例:
var book = { title:"professional JavaScript", authors:[ "lily" ], edition:3, year:2011 }; var jsonText = JSON.stringify(book); alert(jsonText); //{"title":"professional JavaScript","authors":["lily"],"edition":3,"year":2011} alert(typeof jsonText); //string var bookCopy = JSON.parse(jsonText); alert(typeof bookCopy); //object
這個範例中使用JSON.stringify()把一個javascript物件book序列化為一個JSON字串,然後儲存到jsonText;將JSON字串jsonText直接傳給JSON.parse()就得到了對應的javascript值
注意:序列化javascript物件時,最終值都是有效JSON資料類型的實例屬性,任何無效的值都會被跳過
2.序列化選項
JSON.stringify()在序列化javascript物件時,可以接收兩個參數
參數一:過濾器,可以是一個陣列或函數
參數二:一個選項,表示是否在JSON字串中保留縮排
1)過濾結果
如果濾波器的參數是數組,那麼JSON.stringify()的結果中只包含數組中列出的屬性
例如:
var book = { "title":"professional JavaScript", "authors":[ "lily" ], edition:3, year:2011 }; var jsonText = JSON.stringify(book,["title","edition"]); alert(jsonText); //{"title":"professional JavaScript","edition":3} alert(typeof jsonText); // string
2)字串縮排:
JSON.stringify()方法的第三個參數用於控制結果中的縮排和空白符
3)toJSON()方法
為物件定義toJSON()方法,可以傳回其自身的JSON資料格式
四、JSON存取值
第一種:簡單數組
['item1','item2','item3']
取值:透過數字索引存取嵌入的值(第一項的索引為0)
['item1','item2','item3']
var items = ['item1','item2','item3'];
alert(items[0]); // item1
第二種:使用{}表示物件和符合陣列
{ "key":"value" }
取值:透過鍵名存取嵌入的值
var oExample = { "name":"lily" };
alert(oExample.name); // lily
alert(oExample["name"]); // lily
使用這兩種方式,可以用子記錄(帶有命名的或數值的索引鍵)描述許多資料結構:
var oNovelist = { "firstName":"lily", "lastName":"russ", "novels": [ { "title":"and choas died", "year":"1970" }, { "title":"the famale man", "year":"1976" } ] }; var msg = oNovelist.firstName+" "+oNovelist.lastName+"'s"+" "+oNovelist.novels[0].title+" "+"was published in"+oNovelist.novels[0].year; alert(msg); // lily russ's and choas died was published in1970

1、先看看效果图,可以自行选择展示效果2、这是我在vue3项目中使用的JSON编辑器,首先引入第三方插件npminstalljson-editor-vue3yarnaddjson-editor-vue33、引入到项目中//导入模块importJsonEditorVuefrom'json-editor-vue3'//注册组件components:{JsonEditorVue},4、一般后端返回的是会将JSON转为String形式我们传给后端也是通过这种形式,就可以通

控制json序列化/反序列化1.@JsonIgnoreProperties的用法@JsonIgnoreProperties(value={"prop1","prop2"})用来修饰Pojo类,在序列化和反序列化的时候忽略指定的属性,可以忽略一个或多个属性.@JsonIgnoreProperties(ignoreUnknown=true)用来修饰Pojo类,在反序列化的时候忽略那些无法被设置的属性,包括无法在构造子设置和没有对应的setter方法.2.@Js

Java调用接口获取json数据保存到数据库1.在yml文件中配置自己定义的接口URL//自己定义的JSON接口URLblacklist_data_url:接口URL2.在Controller中添加请求方法和路径/***@Title:查询*@Description:查询车辆的记录*@Author:半度纳*@Date:2022/9/2717:33*/@GetMapping("/Blacklist")publicvoidselectBlacklist(){booleana=imB

本篇文章给大家带来了关于JWT的相关知识,其中主要介绍了什么是JWT?JWT的原理以及用法是什么?感兴趣的朋友,下面一起来看一下吧,希望对大家有帮助。

PHP作为一种常见的编程语言,在web开发中使用广泛,其与前端交互的方式也多种多样。其中,输出Json数据是一种常见的交互方式,但有时候会碰到Json无法解析的问题。为什么会出现无法解析的情况呢?下面列举了几个可能的原因。

JSONSchemaJSONSchema是用于验证JSON数据结构的强大工具,Schema可以理解为模式或者规则。JsonSchema定义了一套词汇和规则,这套词汇和规则用来定义Json元数据,且元数据也是通过Json数据形式表达的。Json元数据定义了Json数据需要满足的规范,规范包括成员、结构、类型、约束等。JSONSchema就是json的格式描述、定义、模板,有了他就可以生成任何符合要求的json数据json-schema-validator在java中,对json数据格式的校验,使用

当我们处理数据时经常会遇到将XML格式转换为JSON格式的需求。PHP有许多内置函数可以帮助我们执行这个操作。在本文中,我们将讨论将XML格式转换为JSON格式的不同方法。

一、@RestController注解在SpringBoot中的Controller中使用@RestController注解即可返回JSON格式的数据。@RestController注解包含了@Controller和@ResponseBody注解。@ResponseBody注解是将返回的数据结构转换为JSON格式。@Target({ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Documented@Controller@Respons


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

WebStorm Mac版
好用的JavaScript開發工具

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

禪工作室 13.0.1
強大的PHP整合開發環境