各种Json 和 Xml操作

json注意

json返回到前台数字时 最好是字符串 ,浏览器有可能将小数.00搞消失

//Gson
1.create
Gson gson = new Gson();
Gson gson = new GsonBuilder()
        .setLenient()// json宽松 默认情况下,Gson是严格的,只接受RFC 4627指定的JSON。此选项使解析器在接受的内容中更加自由。
        .serializeNulls() //解决null{"name":"zs","age":10,"color":null}
        .setDateFormat("yyyy-MM-dd")//日期格式
        //.setPrettyPrinting()格式化
        //.enableComplexMapKeySerialization()//支持Map的key为复杂对象的形式
        .create();
2.bean->jsonStr:
String gsonStr = gson.toJson(bean);
3.JsonStr->JsonObject:

4.jsonStr->jsonArray:

5.JsonStr->Bean:
int aaa = gson.fromJson(json, int.class);
List<PersonJson> list = gson.fromJson(listJsonStr,new TypeToken<ArrayList<PersonJson>>(){}.getType());
6.从jsonObj中获取jsonArray:

7.从jsonArray中获取某一个json对象:

 

//fastjson
1.create://传 true 使用的为linkedhashmap有序
new JSONObject(true);

2.bean->jsonStr: //如果json值为null则在字符串中key也看不见
String jsonstr = JSONObject.toJSONString(data);

3.JsonStr->JsonObject:  //1可以映射为boolean的true,其他数字可以映射为boolean的false
JSONObject extJsonObj = JSONObject.parseObject(jsonStr);
4.jsonStr->jsonArray:
JSONArray array = JSONArray.parseArray(jsonStr);

5.JsonStr->Bean:
Object obj = JSONObject.parseObject(jsonstr, clazz);//jsonStr->Bean
List<Tree<MenuDO>> menus = JSON.parseObject(menujson, new TypeReference<List<Tree<MenuDO>>>() {});//jsonstr->vo 要校验jsonstr保证没不报错才可使用

6.从jsonObj中获取jsonArray:
JSONArray array = jsonObject.getJSONArray("stationList");
7.从jsonArray中获取某一个json对象:
JSONObject interval = intervalArray.getJSONObject(i);

8.策略

JSON.toJSONString(result, SerializerFeature.WriteMapNullValue, SerializerFeature.WriteNullListAsEmpty, SerializerFeature.WriteNullStringAsEmpty);

 

//jackson
1.create
private ObjectMapper objectMapper = new ObjectMapper();
ObjectMapper mapper = new ObjectMapper();
2.bean->jsonStr: bean中无值则补null
String jsonlist = mapper.writeValueAsString(users);
3.JsonStr->JsonObject:
4.jsonStr->jsonArray:
5.JsonStr->Bean: str中的name,bean中必须有
User user = mapper.readValue(json, User.class);
List<User> beanList = mapper.readValue(json, new TypeReference<List<User>>() {});
6.从jsonObj中获取jsonArray:
7.从jsonArray中获取某一个json对象:


//将对象 转为xml格式字符串  使用XStream
XStream xStream = new XStream();

xStream.alias("ORDER", Order.class);
xStream.alias("valueList", Code.class);
xStream.autodetectAnnotations(true);
// 去掉 class 属性
xStream.aliasSystemAttribute(null, "class");

String xml = xStream.toXML(order);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值