当前位置: 首页 > news >正文

浅谈博物馆网站的建设意义信誉好的丹徒网站建设

浅谈博物馆网站的建设意义,信誉好的丹徒网站建设,不用wordpress,烟台制作网站Java处理json有很多种方法#xff0c;在这里总结一下。 1 Jackson Spring MVC 默认采用Jackson解析Json#xff0c;出于最小依赖的考虑#xff0c;也许Json解析第一选择就应该是Jackson。 1.1 引入的包 Jackson核心模块由三部分组成#xff1a;jackson-core、jackson-a…Java处理json有很多种方法在这里总结一下。 1 Jackson Spring MVC 默认采用Jackson解析Json出于最小依赖的考虑也许Json解析第一选择就应该是Jackson。 1.1 引入的包 Jackson核心模块由三部分组成jackson-core、jackson-annotations、jackson-databind。 由于jackson-databind 依赖 jackson-core 和 jackson-annotations所以只显示地添加jackson-databind依赖jackson-core 和 jackson-annotations 就会隐式地添加到 Java 项目工程中。 dependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-databind/artifactIdversion2.9.6/version /dependency1.2 ObjectMapper类 ObjectMapper类是Jackson中基于“对象绑定”的API可以将JSON映射到Java对象反序列化也可以将Java对象映射到JSON序列化 默认情况下Jackson通过匹配JSON字段名称与Java类的gettersetter方法名将JSON的字段映射到Java类的属性。Jackson删除了gettersetter方法名称的get和set部分并将其余名称的第一个字符转换为小写后和JSON字段名称做比较相同即匹配上。 举例如果有Java类如下 public class Car {private String brand null;private int doors 0;// getter Setterpublic String getBrand() { return this.brand; }public void setBrand(String brand){ this.brand brand;}public int getDoors() { return this.doors; }public void setDoors(int doors) { this.doors doors; } }1.2.1 反序列化从JSON获得Java对象 ObjectMapper objectMapper new ObjectMapper(); objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); // false表示忽略没有匹配上的JSON字段String carJson { \brand\ : \Mercedes\, \doors\ : 5 }; // JSON字符串 Car car objectMapper.readValue(carJson, Car.class); // 从JSON字符串获取对象 Reader reader new StringReader(carJson); // JSON字符输入流 car objectMapper.readValue(reader, Car.class); // 从JSON字符输入流获取对象 // 类似的还有从File对象、URL对象、InputStream对象字节输入流、字节数组等获取java对象String jsonArray [{\brand\:\ford\}, {\brand\:\Fiat\}]; // JSON字符串数组 ListCar cars objectMapper.readValue(jsonArray, new TypeReferenceListCar(){}); // 从JSON数组字符串获取Java对象的数组String jsonObject {\brand\:\ford\, \doors\:5}; // JSON字符串Map MapString, Object jsonMap objectMapper.readValue(jsonObject, new TypeReferenceMapString,Object(){}); // 从JSON字符串获取Java Map注意还可以自定义反序列化规则这里不详解。 1.2.2 序列化将Java对象写入JSON ObjectMapper objectMapper new ObjectMapper();Car car new Car(); car.setBrand(BMW); car.setDoors(4);String json objectMapper.writeValueAsString(car); // 将Java对象序列化为JSON字符串 objectMapper.writeValue(new FileOutputStream(data/output-2.json), car); // 将Java对象序列化为JSON字符串并写入文件注意同样可以自定义序列化规则这里不详解。 1.3 JsonNode类 如果不知道接收到的JSON格式可以将其转换为JsonNode类即Jackson的JSON树模型。 1.3.1 JSON字符串和JsonNode对象相互转换 ObjectMapper objectMapper new ObjectMapper(); String carJson { \brand\ : \Mercedes\, \doors\ : 5 }; try {JsonNode jsonNode objectMapper.readValue(carJson, JsonNode.class); // 将JSON字符串转为JsonNode对象// JsonNode jsonNode objectMapper.readTree(carJson); // 和上一行代码功能完全相同 } catch (IOException e) {e.printStackTrace(); } String json objectMapper.writeValueAsString(jsonNode); // 将JsonNode对象转为JSON字符串1.3.2 JsonNode类访问JSON字段 ObjectMapper objectMapper new ObjectMapper(); String carJson { \brand\ : \Mercedes\, \doors\ : 5, \owners\ : [\John\, \Jack\, \Jill\], \nestedObject\ : { \field\ : \value\ } }; try {JsonNode jsonNode objectMapper.readValue(carJson, JsonNode.class);// 字符串JsonNode brandNode jsonNode.get(brand);String brand brandNode.asText();System.out.println(brand brand);// 整型JsonNode doorsNode jsonNode.get(doors);int doors doorsNode.asInt();System.out.println(doors doors);// 数组JsonNode array jsonNode.get(owners);JsonNode jsonNode array.get(0);String john jsonNode.asText();System.out.println(john john);// 子JSONJsonNode child jsonNode.get(nestedObject);JsonNode childField child.get(field);String field childField.asText();System.out.println(field field); } catch (IOException e) {e.printStackTrace(); }1.3.3 Java对象和JsonNode对象相互转换 ObjectMapper objectMapper new ObjectMapper(); Car car new Car(); car.brand Cadillac; car.doors 4; JsonNode carJsonNode objectMapper.valueToTree(car); // Java对象转JsonNode对象 Car car0 objectMapper.treeToValue(carJsonNode); // JsonNode对象转Java对象1.3.4 JsonNode类的set、put、remove ObjectMapper objectMapper new ObjectMapper(); ObjectNode objectNode objectMapper.createObjectNode(); // 创建空的JsonNode对象 JsonNode childNode readJsonIntoNode(); objectNode.set(child1, childNode); // 使用set方法给JsonNode添加子Node objectNode.put(field1, value1); // 使用put方法给JsonNode添加字段 objectNode.remove(field1); // 使用remove方法删除JsonNode某字段1.3.5 循环JsonNode所有字段 IteratorString fieldNames jsonNode.fieldNames(); // 创建Iterator遍历JsonNode字段 while(fieldNames.hasNext()) {String fieldName fieldNames.next();JsonNode field jsonNode.get(fieldName); }1.4 JsonParser类 1.5 JsonGenerator类 2 fastjson 3 Gson
http://www.hkea.cn/news/14535329/

相关文章:

  • 郑州鹏之信网站建设wordpress支持PHP吗
  • 后台模板链接前台网站百度下载app
  • 网站建设的基本原则php访问网站
  • 陕西网站建设企业学电商设计大概多少钱
  • wordpress的站点是什么建个公司网站怎么弄
  • 哪个网站可以直接做ppt做本地化的返利网站怎么样
  • 网站没有备案信息该怎么做阿里巴巴集团控股有限公司
  • wordpress去除顶部网站建设公司十年乐云seo
  • 网站页面seo注册域名多长时间
  • python做公司网站遵义市网站建设
  • 北京建网站公司价格怎样做运营一个网站
  • 电商网站建设系统美篇在哪个网站做的
  • 大学生做网站类型网站美工做专题尺寸多少?
  • 怎么创建个网站商业空间设计ppt分析
  • 佛山网站设计培训订票网站模板
  • 博罗网站开发广告软文营销平台
  • 做字体网站做网站需要多少固定带宽
  • js网站特效阜阳手机网站制作
  • 在线支付的网站怎么做上海闵行区怎么样
  • 网站建设公司发展建议wordpress前端用户插件
  • 成都做网站优化价格seo关键词优化
  • 做网站数据库怎么整怎样建设淘宝客导购网站
  • 自己建设网站服务器网站建设的讲话要求
  • 贴吧网站怎么做如何查询关键词的搜索量
  • 网站如何做淘宝联盟推广网站开发详细设计文档
  • 网站改版重新备案莒县网站建设公司
  • 台州市建设规划局网站班子成员成都十大营销策划公司
  • 网站运营优化建议网站开发的策划书
  • 广西一站网网络技术集团有限公司湖北雨水最新消息
  • 厦门园网站忱建设网站的建设与维护