json基础

json表示法是一种轻量级的基于文本的开放标准

json是javascript object notation的缩写

json的网络媒体格式是 application/json

容易阅读和编写

语言无关性

json的几种数据格式

对象

An object is an unordered set of name/value pairs. An object begins with { (left brace) and ends with } (right brace). Each name is followed by : (colon) and the name/value pairs are separated by .

object

数组

An array is an ordered collection of values. An array begins with [ (left bracket) and ends with ] (right bracket). Values are separated by ,

array

A value can be a string in double quotes, or a number, or true or false or null, or an object or an array. These structures can be nested.

value

json语法

数据使用键值对表示

使用大括号表示对象,每个名称后面跟着一个:,键值对之间使用,分割

使用方括号[]保存数组,数组值使用,分割

{

"book": [

{

"id":"01",

"language": "Java",

"edition": "third",

"author": "Herbert Schildt"

},

{

"id":"07",

"language": "C++",

"edition": "second"

"author": "E.Balagurusamy"

}]

}

book为键,它对应的又是一个json数组对象,json数组用[]包起来:

[

{

"id":"01",

"language": "Java",

"edition": "third",

"author": "Herbert Schildt"

},

{

"id":"07",

"language": "C++",

"edition": "second"

"author": "E.Balagurusamy"

}

]

数组元素是一个json对象,对象之间使用,隔开:

{

"id":"01",

"language": "Java",

"edition": "third",

"author": "Herbert Schildt"

}

java中使用json

下载 json .jar

/**

* 测试生成json对象

* @throws JSONException

*/

@Test

public void testBuildJsonObject() throws JSONException {

JSONObject jsonObject = new JSONObject();

jsonObject.put("id",1);

jsonObject.put("name","shixu");

jsonObject.put("age",23);

jsonObject.put("id",2); //JsonObject底层是维护一个map,所以不能有重复的键,这里会把之前的值覆盖掉

System.out.println(jsonObject);

System.out.println("id:"+jsonObject.get("id"));

System.out.println("name:"+jsonObject.get("name"));

System.out.println("age:"+jsonObject.get("age"));

HashMap map = new HashMap<>();

map.put("id",1);

map.put("name","shixu");

JSONObject jsonObjectMap= new JSONObject(map); //使用map初始化

System.out.println(jsonObjectMap);

System.out.println("id:"+jsonObjectMap.get("id"));

System.out.println("name:"+jsonObjectMap.get("name"));

}

结果:

{"id":2,"age":23,"name":"shixu"}

id:2

name:shixu

age:23

{"id":1,"name":"shixu"}

id:1

/**

* 测试生成JSONArray ,用于存放jsonObject

* @throws JSONException

*/

@Test

public void testBuildJsonArray() throws JSONException {

JSONArray jsonArray = new JSONArray();

HashMap map = new HashMap<>();

map.put("id",1);

map.put("name","shixu");

JSONObject jsonObjectMap= new JSONObject(map); //使用map初始化

jsonArray.put(jsonObjectMap);

jsonArray.put(jsonObjectMap);

System.out.println(jsonArray);

System.out.println(jsonArray.getJSONObject(0));

System.out.println(jsonArray.getJSONObject(1));

}

结果:

[{"id":1,"name":"shixu"},{"id":1,"name":"shixu"}]

{"id":1,"name":"shixu"}

{"id":1,"name":"shixu"}

将一个json字符串解析为json对象

/**

* 将一个json字符串解析为json对象

* @throws JSONException

*/

@Test

public void testJsonStrToJsonObject() throws JSONException {

String jsonStr = "[{\"id\":1,\"name\":\"shixu\"},{\"id\":2,\"name\":\"suntime\"}]";

JSONTokener jsonTokener = new JSONTokener(jsonStr);

JSONArray jsonArray = new JSONArray(jsonTokener);

for (int i = 0; i

JSONObject jsonObject = jsonArray.getJSONObject(i);

System.out.println(jsonObject);

System.out.print("id:"+jsonObject.get("id"));

System.out.println("\tname:"+jsonObject.get("name"));

}

}

结果:

{"id":1,"name":"shixu"}

id:1 name:shixu

{"id":2,"name":"suntime"}

id:2 name:suntime

总结

java json data_java中json数据格式的处理相关推荐

  1. python的json dump_python中json.dump和json.dumps的区别

    json.dumps (&json.loads): 是对数据的操作: json.dump (&json.load): 也是类似的功能,只是与文件操作结合起来了. 1. json.dum ...

  2. python中json dumps_python中json.loads,dumps,jsonify使用

    search_info = {'id':132,'user_role':3} print type(search_info) #输出 #转为string用dumps print type(json.d ...

  3. java处理 mysql中json类型

    当数据库中存在json类型的数据,如图 json类型的值在数据库中保存的时候,会先字母排序并加空格后保存 场景:业务上需要校验,此json字段是否跟库里的json完全匹配(验重) 原理:利用mysql ...

  4. java组装json_java 中 json的组装

    public static void main(String args[]){ //生成一个JSONObject对象 String data = "{}"; JSONObject ...

  5. 获取Json对象中Json数组中的一个Json对象

    比如:获取以下数据的data中的数据 { "message": "successful", "resultCode": "0&qu ...

  6. python中json.loads_python中json.loads 返回类型是str 而不是 dict

    解析本地文件中的Json文件时,json.loads 之后的返回类型是str ,直接上代码 import json with open ("urlJson.txt",'r',enc ...

  7. php把表单转为json保存,javascript – 使用jquery将表单数据保存到本地json文件中

    我有一个带有一些输入字段的基本表单.我想在提交表单时将表单数据保存到json文件中. json文件中保存数据的格式应如下所示. [ {"title":"some text ...

  8. java中将json字符串_Java中JSON字符串与java对象的互换实例详解

    在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,JSON在这方面则做的很好, ...

  9. Java中JSON字符串与java对象的互换实例详解

    这篇文章主要介绍了在java中,JSON字符串与java对象的相互转换实例详解,非常不错,具有参考借鉴价值,需要的朋友可以参考下 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JS ...

最新文章

  1. 字符串专题:map POJ 1002
  2. 百货中心供应链管理系统
  3. 百度要在“元宇宙”里办AI开发者大会了
  4. cad 关键字被保留了?选择集关键字保留了? N S W E关键字无法用?
  5. Spring Cloud Stream的使用(上)
  6. Python 列表count()函数元素次数统计
  7. java+解析未知json_在Java中解析JSON时如何忽略未知属性– Jackson @JsonIgnoreProperties注释示例...
  8. 隐藏文件或文件夹属性无法修改解决方案
  9. 从0开始搭建公司后台技术栈,这套架构值得拥有...
  10. 线性回归与分类, 解决与区别
  11. SQL教程1_数据库及SQL语言基础知识
  12. 查看安卓app包名的5种方法
  13. 测试驱动开发(TDD)实践与技巧
  14. 思科交换机配置试题_思科交换机基本配置命令全集
  15. 百度高德经纬度-离线一键批量纠偏工具
  16. android studio运行APP到手机
  17. KingbaseES 数据库本地化配置 LC_CTYPE 和 LC_COLLATE
  18. 仿迅雷播放器遇到的字符串处理函数
  19. 如何解除税务异常(列入黑名单)处理?
  20. python多线程突破百度云限速下载

热门文章

  1. 最小二乘法 c 语言程序,最小二乘法采用C语言.docx
  2. python集合类型中的元素是有序的_Python数据类型之集合set
  3. 通过bin-log对mysql进行数据恢复
  4. Flash as3.0 保存MovieClip运动轨迹到json文件
  5. Xamarin For Visual Studio 3.7.165 完整离线破解版
  6. cookie和session笔记
  7. Android系统Recovery工作原理之使用update.zip升级过程分析(一)
  8. 《精通正则表达式》笔记 --- 选择引号内的文字
  9. dudu注意:这个可能是bug吧?
  10. php 事务回滚,php实现事务回滚的方法