java对象数据转换成json数据格式

来源:互联网 发布:成都办公软件速成班 编辑:程序博客网 时间:2024/05/18 03:35
json是一种数据格式,便于数据传输、存储、交换gson是一种组件库,可以把java对象数据转换成json数据格式本次心得体会,使用gson类库生成gson对象 方法1: GsonBuilder builder = new GsonBuilder(); //gson格式化工作,用来处理复杂的gson操作builder.excludeFieldsWithoutExposeAnnotation() //不导出实体中没有用@Expose注解的属性builder.enableComplexMapKeySerialization() //支持Map的key为复杂对象的 builder.serializeNulls().setDateFormat("yyyy-MM-dd HH:mm:ss:SSS")//时间转化为特定格式builder.setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE)//会把字段首字母大写,注:对于实体上使用了@SerializedName注解的不会生效.        builder.disableHtmlEscaping(); //可以生成带单引号等特殊字符json   builder.setPrettyPrinting() //对json结果格式化.  builder.setVersion(1.0)    //有的字段不是一开始就有的,会随着版本的升级添加进来,那么在进行序列化和返序列化的时候就会根据版本号来选择是否要序列化.实现版本号下面二种方式  1.                            //@Since(版本号)能完美地实现这个功能.还的字段可能,随着版本的升级而删除,那么  2.                            //@Until(版本号)也能实现这个功能,GsonBuilder.setVersion(double)方法需要调用.    Gson gson=builder.create();方法2: Gson gson=new Gson();  //这样生成,无法生成单引号等特殊字符生成或解析json数据Json的规格非常简单,只用一个页面几百个字就能说清楚,而且Douglas Crockford声称这个规格永远不必升级,因为该规定的都规定了。1) 并列的数据之间用逗号(",")分隔。2) 映射用冒号(":")表示。3) 并列数据的集合(数组)用方括号("[]")表示。4) 映射的集合(对象)用大括号("{}")表示。5.所有值都是用””括起来的,有其他符号,要替换生成map json Map<String,Object> liut=new LinkedHashMap<String,Object>();          liut.put("resStr", bjson);          String tjson=gson.toJson(liut,new TypeToken<Map<String, Object>>(){}.getType());List json List<haha> t=new ArrayList();          bb1.setItem("1");          bb1.setValue("行不行");          bb2.setItem("2");          bb2.setValue("不行");          t.add(bb1);          t.add(bb2);          //a1.setAa(aa1);          String bjson=gson.toJson(t);//输出结果:[{"item":"1","value":"行不行"},{"item":"2","value":"不行"}]解析 json字符串如下:{"resStr":"{'result': [{\"item\":\"ITEM\",\"value\":\"查验结果:查验失败。您输入的开票金额与实际发票不符!\"}]}"}带\的都是进行了,两次tojson操作,生成的串,将单引号,换成双引号,可正常解析
以上心得来自同事lhl

0 0
原创粉丝点击