put有替代的效果。第二次添加同一个key,value是会随之改变的
JSONObject.put("name","王小二"),多次调用.put(key,value)时会替代原来的数据,比如第二次调用就会变成key:name,value:王小二-1
java的JSON用null时,方法为:定义一个Object对象,其值为null,然后引用这个对象。
选中方法名右键后移动光标到下图位置,点击Rename后,即可进行一个设置:只要最初定义方法的地方对方法进行改名操作时,项目中引用了这个方法的地方也会同时进行自动改名
原生方式构建JSON
null转换为对象进行赋值,否则编译会报错
本章简介:使用org.json包来完成JSON格式数据的生成和解析。包括使用Map和Java Bean构建对象,以及如何从文件读取JSON数据。
Java中使用org.json包来完成JSON格式数据的生成:
JSON官网网站最下方的列表,提供了所有开发语言JSON包,包括我们讲解到经常使用的、常见的org.json,通过这个包,就可以使用JSON。
案例:创建一个名字为json的Maven项目,首先,引入org.json的依赖(引入依赖方法:http://mvnrepository.com/artifact/org.json/json,下面很多版本,选一个点进去,复制<dependency></dependency>这段代码。在eclipse中新建一个maven项目,在</project>前输入<dependencies>把复制的代码粘贴在这里</dependencies>,接着右键maven项目,maven->update maven...。),引入之后我们就可以使用JSON Object这个对象,JSON Object的使用文档(http://stleary.github.io/JSON-java/index.html)进行具体的查看,只有一个接口,很少的类,并且我们经常使用到的是JSONObject这个类,还有一个JSON的异常。
使用JSONObject生成JSON数据:采用上节课王小二JSON的例子,在java项目中创建一个包叫json,并在该包下创建名为JsonObjectSample的类,并包含一个主方法,主方法中调用JSONObject()方法。
1、静态方法JSONObject()中创建JSONObject对象。
调用该对象的put方法存储数据,JSON中的number数据类型在java中对应有多种类型(int、long、double),,通过输出JSONObject对象的toString()方法,这样所有的数据就会转换成字符串的类型进行输出,JSONObject会把所有生成的空格去掉,以保证数据格式的压缩,这样传输过程更高效,可以通过点击方法名选择Refactor的Rename更改所有的名称为该名的方法,当value==null时,json会自动屏蔽此value对应的key。。
json.org/json-zh.hrml
wangxiaoer.toString()
把json这个类型转换成一个字符串类型进行输出
JSONObject的Java例子
wangxiaoer.toString()
把json这个类型转换成一个字符串类型进行输出
json的使用
null用对象代替
json中无法赋值null时,可以创建一个对象,将其赋值为null即可
JSONObject对象通过put方法来创建json格式数据
引入依赖 <dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>20090211</version> </dependency> 使用JsonObject实现Json package json; import org.json.JSONException; import org.json.JSONObject; public class JSONObjectSample { public static void main(String[] args) { // TODO 自动生成的方法存根 JSONObject(); } private static void JSONObject() { // TODO 自动生成的方法存根 JSONObject wangxiaoer = new JSONObject(); Object nullObj = null; try { wangxiaoer.put("name", "王小二"); wangxiaoer.put("age", 25.2); wangxiaoer.put("birthday", "1990-01-01"); wangxiaoer.put("school", "蓝翔"); wangxiaoer.put("major", new String[] { "理发", "挖掘机" }); wangxiaoer.put("has_girlfriend", false); wangxiaoer.put("car", nullObj); wangxiaoer.put("house", nullObj); wangxiaoer.put("comment", "这是一个注释"); System.out.println(wangxiaoer.toString()); } catch (JSONException e) { // TODO: handle exception e.printStackTrace(); } } }
2
引入json依赖
json序列化
使用JSONObject()来生成JSON格式数据