初学Json
来源:互联网 发布:mongodb 数据导出 编辑:程序博客网 时间:2024/06/10 00:47
初学Json
在今天初学Json,以前一直不懂JsonArray和JonObject是什么,一直以为是方法,今天看资料,了解是一个Java对象
1,JSONObject
json对象,就是一个键对应一个值,使用的是大括号{ },如:{key:value}
2,JSONArray
json数组,使用中括号[ ],只不过数组里面的项也是json键值对格式的
Json对象中添加的是键值对,JSONArray中添加的是Json对象
JSONArray getJsonArray=JSONArray.fromObject(arrayStr);//将结果转换成JSONArray对象的形式 JSONObject getJsonObj = getJsonArray.getJSONObject(0);//获取json数组中的第一项 String result=getJsonObj.getJSONObject("name1").getJSONObject("name2").getJSONObject("name4");
JSONObject Json = new JSONObject(); JSONArray JsonArray = new JSONArray(); Json.put("key", "value");//JSONObject对象中添加键值对 JsonArray.add(Json);//将JSONObject对象添加到Json数组中
使用gson
gosn是什么?
gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。
gson的初步使用
package org.gson.main;import com.google.gson.Gson;public class test { public static void main(String[] args) { Gson gson = new Gson(); int[] ints = {1, 2, 3, 4, 5}; String[] strings = {"abc", "def", "ghi"}; System.out.println(gson.toJson(ints)); System.out.println(gson.toJson(strings)); }}
输出结果:
[1,2,3,4,5]
[“abc”,”def”,”ghi”]
gson的进阶应用
//注意这里的Gson的构建方式为GsonBuilder,区别于test1中的Gson gson = new Gson(); Gson gson = new GsonBuilder() .excludeFieldsWithoutExposeAnnotation() //不导出实体中没有用@Expose注解的属性 .enableComplexMapKeySerialization() //支持Map的key为复杂对象的形式 .serializeNulls().setDateFormat("yyyy-MM-dd HH:mm:ss:SSS")//时间转化为特定格式 .setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE)//会把字段首字母大写,注:对于实体上使用了@SerializedName注解的不会生效. .setPrettyPrinting() //对json结果格式化. .setVersion(1.0) //有的字段不是一开始就有的,会随着版本的升级添加进来,那么在进行序列化和返序列化的时候就会根据版本号来选择是否要序列化. //@Since(版本号)能完美地实现这个功能.还的字段可能,随着版本的升级而删除,那么 //@Until(版本号)也能实现这个功能,GsonBuilder.setVersion(double)方法需要调用. .create();
阅读全文
0 0
- 初学JSON
- Json初学
- 初学Json
- json初学习
- 初学AJAX JSON调用
- JSON 初学笔记
- 读写JSON(初学、记录)
- 初学c++使用json----jsoncpp
- 菜鸟学Python(10):初学JSON
- 菜鸟学Python(10):初学JSON
- JSON and AJAX(初学,东拼西凑)
- 初学C++ 使用json对象----------rapidjson
- 初学json相关的一些知识
- 学习struts2+json简单示例(适于初学json者)
- 学习struts2+json简单示例(适于初学json者)
- ext:初学(3) - Ext通过静态json创建tree
- 初学AJAX异步提交获取JSON类型数据
- android初学------volley获取网络上的json,图片
- 强叔侃墙_出口选路_策略路由_基于源IP地址的策略路由
- occ
- 汉化版svn安装包和英文对比
- hdu4871 Shortest-path tree
- 服务端开发常用技术
- 初学Json
- 嵌入式系统学习——arm-qtopia添加应用
- 阿里云
- WdatePicker时间控件的使用
- 阿里云发布企业级ECS产品线,释放技术升级红利,最高降价35%
- WebRTC之WebRtcVideoEngine2模块(六)
- 批量处理AS文件编码问题
- mongodb与mysql命令对比
- 定时任务中常用的cron表达式