JAVA从入门到精通(16)-- Java版JSON入门

2023-05-16

一、JSON课程介绍

1》JSON是行业内使用最为广泛的数据传输格式。

定义:JSON是一种与开发语言无关的、轻量级的数据格式。全称是JavaScript  Object   Notation。

优点:易于人的阅读和编写,易于程序解析与生产。

2》标准的JSON数据表示:

1.数据结构:

Object:使用花括号{}包含的键值对结构,key必须是string类型,value为任何基本类型或数据结构;

 Array :使用中括号[ ]来起始,并用逗号, 来分隔元素

2.基本类型:string  、number 、true 、 false 、null

注:JSON中没有具体的日期类型,常用字符串类型表示或时间戳表示时间/日期。

JSON中没有注释支持。

二、JSON使用

1》创建一个JSONObject对象

JSONObject  wxe = new JSONObject();

2》put()方法重载了两个不同的value的属性,会有错误,因此定义了一个Object   nullObj = null ;

wxe.put(" major" , new String[ ]{ "理发" , "挖掘机"});

wxe.put(“car ” , nullObj);

3》使用toString()方法打印输出

wxe.toString();

三、使用Map构建JSON

1》创建HashMap

Map<String , Object>   wxe = new HashMap<String , Object>() ;

2》put()方法

3》调用 : new JSONObject(wxe).toString() ;

四、使用Java  Bean构建对象

1》创建Java Bean,创建类名为Man

private String  name ;

生成getter/setter方法

2》通过Java Bean构建JSON

Man  wxe  =   new   Man() ; 

wxe.setName(“小明”);

3》调用 : new JSONObject(wxe) ;

五、从文件读取JSON(解析)

1》需要有一个wxe.json文件

2》声明文件   File    file  =  new  File(文件路径) ;

文件路径距离说明:在根目录下时:类名 . class .getResource(" /wxe.json") . getFile() ;

3》得到对象,并从对象中读一些内容,有异常抛出

String  content  =   FileUtils.readFileToString(file) ;

4》json内容转换为json对象进行处理

JSONObject   jsonObj  =  new  JSONObject(content);

System.out.println(“姓名是: ” + jsonObj.getString("name") );

获取数据的方法:

JSONArray  majorArray  =  jsonObj.getJSONArray("major");

for(int  i = 0 ; i<majorArray.length() ;i++) {

String m =(String) major.get(i) ;

}

5》从文件读取JSON判断null

if(! jsonObj.isNull("name"){

//进行相应操作

}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JAVA从入门到精通(16)-- Java版JSON入门 的相关文章

  • 【笔试面试题】腾讯2013实习生面试算法题及参考答案

    总结了一下自己遇到的以及同学遇到的面试算法题 xff0c 是技术二面 有几道题给出了参考答案 xff0c 还有几道没有好的思路 路过的大侠如果有好的思路请留个言交流下呗 1 八数码问题 xff1a 3 3的格子 xff0c 有1 8个数 x
  • 【Linux学习】epoll详解

    什么是 epoll epoll 是什么 xff1f 按照 man 手册的说法 xff1a 是为处理大批量句柄而作了改进的 poll 当然 xff0c 这不是 2 6 内核才有的 xff0c 它是在 2 5 44 内核中被引进的 epoll
  • 算法设计应该依赖抽象而不是业务

    很多时候 xff0c 算法的设计是归属于详细设计阶段的 一些公司甚至都没有设计而直接编码 这些往往导致很多算法的实现都混杂在业务模块中 典型的特点是 xff0c 这些算法会依赖于业务实体的某些属性的实现 举一个简单的例子 xff0c 我曾经
  • 做程序员老婆的幸福

    刚好看网上一个写程序员老公的 说说程序员老公的一些事情 请帮忙分析是不是典型程序员 xff0c 想起自己就是一个程序员 xff0c 也是一个老公 xff0c 却不以为然起来 虽然不以为然 xff0c 却并没有驳斥的任何意思 毕竟很多人都不一
  • 好习惯成就好程序员

    公司搞了一次技术峰会 xff0c 我有机会和大家聊了一下有关如何成功的问题 会上我向大家提出了我的想法 xff0c 好习惯才能成就好程序员 有很多人可能对这句话很不以为然 xff0c 我也不忙辩解 xff0c 先回答我下面的一个问题 现在我
  • 程序江湖:第三章 莫等闲白了少年头

    周五因为羽毛球比赛 xff0c 没有更新 xff0c 今天继续 读者反馈 xff1a 很多读者反馈主人公的名字比较土 呵呵这个没关系 xff0c 可以在整理的时候统一修改 另外有些人表示特别希望看到职场的故事 xff0c 这个放心 本就是这
  • 程序江湖:第二十章 讲标的前一晚上

    说明 xff1a 非常抱歉 xff0c 这周参加了太多的会议 原来写作也是需要心情的 xff0c 当没有心情的时候 xff0c 你都懒得动笔 欧阳明来到云南的最主要的目的 xff0c 是为了应对昆明客户要求的评标 就是客户邀请了几家资质还可
  • springboot项目搭建

    一 Springboot 基本概念 1 1 什么是 springboot Spring Boot是由Pivotal团队提供的全新框架 xff0c 其设计目的是用来简化新Spring应用的初始搭建以及开发过程 该框架使用了特定的方式来进行配置
  • 管理 VS. 面向对象设计

    我是在吃虾的时候 xff0c 突然想起这个关联的 管理 xff0c 往往就是给你一堆事 xff0c 然后再给你一些人 xff0c OK xff0c 你去做吧 这是你的使命 下面我们来做类比吧 首先一个问题 xff0c 你是认为人重要 xff
  • 技术管理案例:代码规范还要继续推行吗?

    这是实际工作中总结的一个典型案例 是真实的 写出来供大家参考 案例 xff1a 技术经理 Y 今年新到了一个产品部门 xff0c 发现原来产品的代码很乱 xff0c 遗留的问题很多 而现有的人员 xff0c 又大半是新招的 xff0c 很多
  • 苹果成功的根本:统筹创新

    这周的某天中午 xff0c 我们聊起了这个话题 xff0c 是关于苹果为什么成功的话题 很多人都说是因为苹果的创新能力很强 但是诺基亚也不缺乏创新啊 xff01 为什么苹果就能胜出呢 xff1f 我个人认为这有很多方面是因为乔布斯 xff0
  • 建立健康的职业发展观

    Google的Reader要下线了 xff0c 很多人都说这是因为Blog的没落 微博的兴起 xff0c 确实给了很多人表达情绪的方式 如果我能够用140个字 xff0c 清晰的表达我的观点 xff0c 并且能够让我的读者做到一点点认可 x
  • Android Gradle Plugins系列-01-自定义Gradle插件入门指南

    前言 本文内容已经有很多大佬写过了 xff0c 不过这里为了知识体系的完整 xff0c 就再写一遍 xff0c 并加入Maven Publish插件的使用 xff0c 不感兴趣跳过就好 官方文档 xff1a Developing Custo
  • Android Gradle Plugins系列-02-Maven Publish 插件踩坑指南

    前言 可能有读者会疑惑 xff0c Maven Publish 插件又是啥玩意 xff1f 确定不是Maven插件吗 xff1f 不要逗我 让笔者慢慢道来 xff0c 如果你刚好把AndroidStudio升级到Android Studio
  • Android Jetpack系列-实现Application作用域的共享ViewModel用于Activity和Fragment的相互通信

    目录 前言 搞清楚activityViewModels的本质 定义Application作用域的ViewMode ApplicationViewModelLazy BaseViewModelApplication 使用方法 自定义Appli
  • Android 音视频开发实践系列-04-Android WebRTC推流到SRS服务器实现直播功能

    目录 前言 了解WebRTC 部署SRS服务器 下载源码并运行 可能遇到的问题 create session create session add publisher publish negotiate no found valid H 2
  • 搭建Android日志系统 美团点评大前端Logan入门指南

    目录 前言 总览 快速开始 下载官方源码 使用IDEA打开Logan Server项目 使用Docker下载MySQL镜像并启动容器 运行Logan Server 修改db properties 修改log4j properties 配置M
  • Android代码重构系列-03-用了Kotlin就别再用Java的思维写代码了(持续更新)

    前言 还记得刚开始在正式项目上用Kotlin写代码时 xff0c 很多代码是直接复制Java过来转成Kotlin的 xff0c 结果代码Review的时候被评论成是用Java的思维写Kotlin代码 xff0c 完全没有利用到Kotlin的
  • springboot项结构分析

    三 SpringBoot 结构 3 1 SpringBoot 工作原理 Spring boot应用程序采用各种Starters启动器 入口类是包含 64 SpringBootApplication注解和main方法的类 然后使用 64 Co
  • Android 音视频开发实践系列-06-初步了解H.264视频编解码技术标准

    本文来自笔者本人的语雀博客 xff0c 由于语雀升级后不再满足笔者的需求 xff0c 因此之后笔者会陆续将一些之前已经发布但尚有价值的文章搬家到CSDN 1 前言 作为音视频行业从业者 xff0c 怎么能不理解H 264视频编解码技术标准

随机推荐