fastJson应用简介
Json的几种值形式:{ } 、 [ ] 、 " " 、 ' ' // " " 和 ' ' 为单纯的值,字符串或者数值 对应的JSON对象:JSONObject、JSONArray、…… 对应的JAVA对象:HashMap、ArrayList、…… 对应构建的Bean:子Bean、List
JSON.parSEObject //将String序列化为JSONObject 对象 JSON.parse //将String序列化为Object对象 JSON.parseArray //将String序列化为JSONArray对象
JSON.parSEObject(Json字符串,Bean.class); //将String序列化为 对应的Bean 对象 JSON.parSEObject(JSONObject 对象.toString(),Bean.class); //将JSONObject 对象转化为 对应的Bean 对象
JSON.parseArray(Json字符串,Bean.class); /将String( [ ] )序列化为 对应的Bean 对象List JSON.parseArray(JSONArray对象.toString(),Bean.class); //将JSONArray对象转化为 对应的Bean 对象List
(JSONObject或者JSONArray)JSON.toJSON(Bean对象) //将Bean转化为JSONObject对象或者JSONArray对象
JSONObject 对象的toJSONString() 方法 JSONArray 对象的toJSONString() 方法 JSON 的toJSONString 静态方法 ,Object均可 可在形参声明是否生成带格式(即带有缩进和换行)的字符串 默认情况下值为null的Object的字段所生成的字符串不显示 但是如 int 在不赋值的情况下生成的字符串被赋值为0 默认情况下字符串值加的是双引号,如果需要单引号,选择不定形参的方法,形参为SerializerFeature.UseSingleQuotes 默认情况下Date类型输出的值为long型的数值,如果需要格式化输出,选择不定形参的方法,形参为SerializerFeature.WriteDateUseDateFormat 如果需要指定日期格式输出,则使用toJSONStringWithDateFormat方法,在第二个形参指定日期格式,如:"yyyy-MM-dd HH:mm:ss.SSS" 可以加入实参SerializerFeature.WriteClassName 为输出字符串写入类型信息 在序列化过程中,fastjson 可能自作主张的在输出的字符串中改变字段的大小写,在这里可以在字段对应的Get方法前使用@JSONField(name="XXX"),将名字强制的声明为XXX 其他SerializerFeature SerializerFeature.WriteNullListAsEmpty,// list字段如果为null,输出为[],而不是null
泛型的反序列化 Map<String,Bean> map1 = JSON.parSEObject(Json字符串,new TypeReference<Map<String,Bean>>() {}); 组合类型集合的反序列化( String text = [{/*header*/},{/*body*/}] ) Type[] types = new Type[] {Header.class,Body.class};
JSONObject 对象的 getXXX 方法,可以获得 { } 内部对应 key 值的 value ,包括JSONObject 对象、JSONArray对象、字符串和各种类型的数值 JSONArray对象的getXXX 方法,可以获得 [ ] 内部对应 index 的value ,包括JSONObject 对象、JSONArray对象、字符串和各种类型的数值 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- C/C++: Inline function, calloc 对比 malloc
- 通过Stratus 服务器在Flash Player中使用RTMFP 开发P2P应用
- oracle distinct关键字过滤掉重复记录
- KVM――复制xml文件与磁盘文件克隆虚拟机
- [Swift]LeetCode315. 计算右侧小于当前元素的个数 | Count
- 在GNU中使用C代码中的C头.错误包括内联汇编:’asm’中不可
- ios – 使用命名颜色时,Xcode 9.2停止编译<11.0目标
- oracle--not in查不到应有的结果(NULL、IN、EXISTS详解)
- Swift 2.0语法更新(三)
- ruby-on-rails – 在Rails中有一个额外列的多对多表