一、首先介绍json常用用法。(这里介绍json-lib-2.2.2-jdk15.jar包的)
1、json字符串的正确写法
String jsonString = "{"name":"zhangsan","age":20,"noWork":true,"address":"changjiangsanxia"}";
String jsonArrayString= "[{"name":"wang","id":"001"},{"name":"lisi","id":"002"}]";
String jsonArrayString2 = "["zhangsan","lisi","wangwu"]";
String jsonObjectString = "{"stuNames":["zhangsan","xiaoming"]}";
2、常用json的转换用法 (这里介绍net.sf.json.JSONObject和net.sf.json.JSONArray两种)
json字符串转换为JSONObject 对象:
JSONObject json = JSONObject.fromObject(jsonString);
JSONObject对象转换为字符串: 【JSONArray对象转换为字符串,同理】
String test = json.toString(); 或 String test = json+"";
Sting test = (String)json;//这种写法是错误的。
JSONObject对象转换为某个Bean类,则使用JSONObject.toBean(JSONObejct json,Class class);
json字符串转换为JSONArray对象:
JSONArray jsonArr = JSONArray.fromObject(jsonArrayString);
for (int j = 0; j < jsonArr.size(); j++) {
System.out.println(jsonArr.get(j));
}
输出结果是:
{"name":"wang","id":"001"}
{"name":"lisi","id":"002"}
JSONArray jsonArr = JSONArray.fromObject(jsonArrayString2);
for (int j = 0; j < jsonArr.size(); j++) {
System.out.println(jsonArr.get(j));
}
输出结果是:
zhangsan
lisi
wangwu
从json字符串中获取JSONArray对象:
JSONObject jsonObj = JSONObject.fromObject(jsonObjectString);
JSONArray jsonArr = jsonObj.getJSONArray("stuNames");
为JSONObject赋默认值,要注意:
1、JSONObject json1 = JSONObject.fromObject("{}");//这样写是正确的。
2、JSONObject json2 = JSONObject.fromObject("");//这样写是错误的。
JSONObject json22 = JSONObject.fromObject("错误汉字");//这样写是错误的。
会报异常:
net.sf.json.JSONException: A JSONObject text must begin with '{' at character 0 of …………
3、JSONObject json3 = JSONObject.fromObject("null");//这样写也是正确的。
但之后在对json3进行其他操作,如不进行条件非空的判断就会报异常。
例如:json2.put("susccess","ok");
会报异常:net.sf.json.JSONException: null object …………
使用第三种赋值的正确写法:
JSONObject json2 = JSONObject.fromObject("null");
if(null != json2 && !"null".equals(json2.toString()))
json2.put("susccess","ok");
System.out.println(json2.toString());
二、两种方式转换为字符串
String test = null + "";
String test2 = (String)null;
System.out.println(test instanceof String);//true
System.out.println(test2 instanceof String);//false
System.out.println(test2 == null);//true
System.out.println(test.getClass());//class java.lang.String
System.out.println(test2.getClass());//报错NullPointerException
三、java基本类型转换(自己总结的规律)
包装类型转换为基本类型,一般使用parseInt(String)、parseLong(String);
例如:
String test11 = 2 + "";
int hei = Integer.parseInt(test11);
long l = Long.parseLong(test11);
基本类型转换为包装类型,一般使用valueOf(int i)、 valueOf(long l);
例如:
long l = 0;
Long big1 = Long.valueOf(l);
Long big2 = Long.valueOf(test11);
以上内容仅是本人测试过的,项目经验,如有异议,建议留言提出,本人乐于接纳学习。
相关推荐
字符串操作和常用方法 函数定义与调用 模块和包的使用 2. 面向对象编程(OOP) 类和对象的概念 属性和方法 构造函数和初始化方法 继承与多态 封装和访问控制 类的特殊方法(如 __str__、__init__等) 3. 文件操作 ...
工程简单的介绍了java常用类,并用这些类进行一些简单的操作 让初学者更好的了解java这门语言的特性。...--课程包括了java SE的大部分常用类及其简单用法 如果你对java,android感兴趣,都可以加入到技术群 326786390
.NET 5 System.Text.Json的用法详解.html .NET 5 带来的新特性 [MemberNotNull] 与 [MemberNotNullWhen].html .NET 5 中的正则引擎性能改进(翻译).html .NET 5(.net core)会影响兼容性的变更.html .NET 5.0 RC2 ...
本项目可用于快速搭建基于springBoot的RESTFul API服务,同时集成了swagger作为接口的在线文档与调试工具,数据交互格式建议是JSON格式。 ## 增强理解 [Spring Boot集成swagger2生成接口文档]...
@hai2007/nodejs - :hammer: node.js常用的基础方法汇总 Issues 使用的时候遇到任何问题或有好的建议,请点击进入! How to use? 首先,这是一个辅助你开发node.js脚本的东西(比如对webpack或rollup等打包的补充)...
- 常用基础方法抽象封装 - 使用Druid Spring Boot Starter 集成Druid数据库连接池与监控 - 使用FastJsonHttpMessageConverter,提高JSON序列化速度 - 集成MyBatis、通用Mapper插件、PageHelper分页插件,实现单表...
常用基础方法抽象封装 Controller、service、dao层基类抽取。 常用工具类集成 使用FastJsonHttpMessageConverter,提高JSON序列化速度 集成MyBatis、通用Mapper插件、PageHelper分页插件,实现单表业务零...
4、通过实现角色管理、用户管理两个基础的功能模块,演示了Viewport、Container、Panel、TreePanel、Grid、Window、Form等常用组件的用法,以及border、column、form、fit、hbox等常用布局方式; 5、通过自定义一个...
3、通过实现角色管理、用户管理、部门管理三个基础的功能模块,演示了Viewport、Container、Panel、Grid、Window、Form、Tree等常用组件的用法,以及border、column、form、fit、accordion、hbox等常用布局方式;...
Android 学习笔记之 SQLite基础用法 如何充分利用 Windows Phone 高清屏幕 【cocos2d-x 手游研发----博彩大转盘】 后端架构 回顾2013:HBase的提升与挑战 memcached(十七)协议命令格式 nginx大流量负载调优 12306...
2、JavaSE:基础语法 3、JavaSE:流程控制 4、JavaSE:方法 5、JavaSE:数组 6、JavaSE:面向对象 7、JavaSE:异常机制 8、JavaSE:常用类 9、JavaSE:集合框架 10、JavaSE:IO流 11、JavaSE:多线程 12、...
C#基础类库 1.Chart图形 Assistant创建显示图像的标签和文件 OWCChart统计图的封装类 2.Cookie&Session;&Cache;缓存帮助类 CacheHelper C#操作缓存的帮助类,实现了怎么设置缓存,怎么取缓存,怎么清理缓存等...
自动导入*.rc.js (常用配置文件) 加载保存的响应从响应中获取数据(例如,身份验证承载) 支持图像,带有可见的标题Javascript的所有功能,可满足非常复杂的请求要求唯一的要求是使用特定的文件扩展名。...
常用的json解析框架的使用; - **Java进阶** 设计模式;多线程,虚拟机,性能优化技巧,反射,复杂算法(红黑树,贪心,动态规划等),网络通信; ## 功能模块 - 【Okhttp接口测试】在[com.gradle.http.uas](/tree/master...
* 自定义javascript常用基础库 author zhang_jhai 创建时间 2010/04/10 最后修改时间 2010/05/03 * version 2.0 */ // Base库基础类 BaseJs = function() { // 判断浏览器类型 userAgent = navigator....
这主要是为了让大家练手的,他使用C#代 码的方法实现了对数据的 备份,还原,分离,附加,添加和删除用户等操作 帮助类 1.最新的Functions 类 这里面实现了很多的帮助方法,比如正则验证,加密,解密,MD5加密,...
- 常用基础方法抽象封装 - 使用Druid Spring Boot Starter 集成Druid数据库连接池与监控 - 使用FastJsonHttpMessageConverter,提高JSON序列化速度 - 集成MyBatis、通用Mapper插件、PageHelper分页插件,实现单表...
这些都是较常用的方法,get和post用法一样。第一个参数是异步请求的url,第二个为参数,第三个回调方法。 (4)的方法会在指定的Dom对象上绑定响应ajax执行的事件。 (5)同步加载数据。发送请求时锁住浏览器。需要...