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

个人如何建设网站猎聘网招聘网页版

个人如何建设网站,猎聘网招聘网页版,网站建设实训报告作业,网上注册公司流程和费用营业执照JSON#xff08;JavaScript Object Notation#xff09;是一种轻量级的数据交换格式。诞生于 2002 年。易于人阅读和编写。同时也易于机器解析和生成。JSON 是目前主流的前后端数据传输方式。 JSON 采用完全独立于语言的文本格式#xff0c;但是也使用了类似于 C 语言家族的… JSONJavaScript Object Notation是一种轻量级的数据交换格式。诞生于 2002 年。易于人阅读和编写。同时也易于机器解析和生成。JSON 是目前主流的前后端数据传输方式。 JSON 采用完全独立于语言的文本格式但是也使用了类似于 C 语言家族的习惯包括C, C, C#, Java, JavaScript, Perl, Python等。 这些特性使 JSON 成为理想的数据交换语言。几乎所有的APP、应用、网站、程序都离不开 JSON。 常见的 Json 解析器GsonFastjsonJson-libJackson 文章目录一、Java中Json字符串和Java对象的互转概述1、关于 Json2、Json 解析器二、使用 Gson 完成 Json 字符串和 Java 对象的互转1、Gson 介绍2、Gson 引入3、Gson 主要类介绍4、Gson Demo5、对象与 Json 互转6、直接操作 Json 以及一些 Json 的工具7、gsonUtil 工具类三、使用 FastJson 完成 Json 字符串和 Java 对象的互转1、FastJson 介绍2、FastJson 引入3、null 值对应 key 的序列化4、FastJson Demo5、对象与 Json 互转一、Java中Json字符串和Java对象的互转概述 1、关于 Json JsonJavaScript Object Notation是一种轻量级的数据交换格式。诞生于 2002 年。易于人阅读和编写。同时也易于机器解析和生成。Json 是目前主流的前后端数据传输方式。 Json 采用完全独立于语言的文本格式但是也使用了类似于 C 语言家族的习惯包括C, C, C#, Java, JavaScript, Perl, Python等。 这些特性使 Json 成为理想的数据交换语言。几乎所有的APP、应用、网站、程序都离不开 Json。 2、Json 解析器 常见的 Json 解析器GsonFastJsonJson-libJackson Gson又称Google Gson是 Google 公司发布的一个开放源代码的 Java 库。特点是快速高效代码量少、简洁FastJson 是一个Java语言编写的高性能的 Json 处理器,由阿里巴巴公司开发。无依赖不需要例外额外的 Jar能够直接跑在 Jdk 上Json-lib 最开始的也是应用最广泛的 Json 解析工具Json-lib 不好的地方确实是依赖于很多第三方包相比 Json-lib 框架Jackson 所依赖的 Jar 包较少简单易用并且性能也要相对高些。而且 Jackson 社区相对比较活跃更新速度也比较快。Jackson 对于复杂类型的 Json 转换Bean 会出现问题一些集合 MapList 的转换出现问题。 序列化性能FastJson Jackson Gson Jsonlib 反序列化性能Gson Jackson FastJson Jsonlib 二、使用 Gson 完成 Json 字符串和 Java 对象的互转 1、Gson 介绍 Google 的 Gson 是目前功能最全的 Json 解析神器Gson 当初是为因应 Google 公司内部需求而由 Google 自行研发但自从在2008年五月公开发布第一版后已被许多公司或用户应用。 Gson 的应用主要为 toJson 与 fromJson 两个转换函数无依赖不需要例外额外的 Jar能够直接跑在 Jdk 上。而在使用这种对象转换之前需先创建好对象的类型以及其成员才能成功的将Json 字符串成功转换成相对应的对象。类里面只要有 get 和 set 方法Gson 完全可以将复杂类型的 Json 到 Bean 或 Bean 到 Json 的转换是 Json 解析的神器。 Ps尽管 Gson 在功能上面无可挑剔但是性能上面比 FastJson 有所差距。 2、Gson 引入 Maven 依赖引入 !--gson--dependencygroupIdcom.google.code.gson/groupIdartifactIdgson/artifactIdversion2.10.1/version/dependency3、Gson 主要类介绍 Gson 主要类 Gson 类解析 Json 的最基础的工具类JsonParser 类解析器来解析 Json 到 JsonElements 的解析树JsonElement 类一个类代表的 Json 元素JsonObject 类Json 对象类型JsonArray 类JsonObject 数组TypeToken 类用于创建 type比如泛型 List? 4、Gson Demo import com.google.gson.Gson; import com.google.gson.GsonBuilder;public class GsonTestClass {public static void main(String[] args) {User user new User();user.setId(1);user.setName(栗筝i);Gson g new GsonBuilder().create();String str g.toJson(user);System.out.println(str);} }Ps默认是不序列化 null 值对应的 key 的若是想序列化 null 值对应的 key只需要将以上创建代码改成以下代码就行 Gson g new GsonBuilder().serializeNulls().create();5、对象与 Json 互转 # bean 转换 Json Gson gson new Gson(); // obj 是对象 String json gson.toJson(obj);Ps当我们需要把定义类的成员变量属性名和返回的 Json 中的格式名称隔离开可以采用 SerializedName 注解标记 # Json 转换 bean Gson gson new Gson(); String json {\id\:\1\,\name\:\栗筝i\}; Book book gson.fromJson(json, Book.class);# Json 转换复杂的 bean比如 ListSet Gson gson new Gson(); String json [{\id\:\1\,\name\:\栗筝i\},{\id\:\2\,\name\:\栗筝ii\}]; // 将 Json 转换成 List List list gson.fromJson(json, new TypeTokenLIST() {}.getType()); // 将 Json 转换成 Set Set set gson.fromJson(json, new TypeTokenSET() {}.getType());6、直接操作 Json 以及一些 Json 的工具 # 格式化 Json String json [{\id\:\1\,\name\:\栗筝i\},{\id\:\2\,\name\:\栗筝ii\}]; Gson gson new GsonBuilder().setPrettyPrinting().create(); JsonParser jp new JsonParser(); JsonElement je jp.parse(json); json gson.toJson(je);# 判断字符串是否是 Json通过捕捉的异常来判断是否是 Json String json [{\id\:\1\,\name\:\栗筝i\},{\id\:\2\,\name\:\栗筝ii\}]; boolean jsonFlag; try {new JsonParser().parse(str).getAsJsonObject();jsonFlag true; } catch (Exception e) {jsonFlag false; }# 从 Json 串中获取属性 String json {\id\:\1\,\name\:\栗筝i\}; String propertyName id; String propertyValue ; try {JsonParser jsonParser new JsonParser();JsonElement element jsonParser.parse(json);JsonObject jsonObj element.getAsJsonObject();propertyValue jsonObj.get(propertyName).toString(); } catch (Exception e) {propertyValue null; }# 除去 Json 中的某个属性 String json {\id\:\1\,\name\:\栗筝i\}; String propertyName id; JsonParser jsonParser new JsonParser(); JsonElement element jsonParser.parse(json); JsonObject jsonObj element.getAsJsonObject(); jsonObj.remove(propertyName); json jsonObj.toString();# 向 Json 中添加属性 String json {\id\:\1\,\name\:\栗筝i\}; String propertyName age; Object propertyValue 26; JsonParser jsonParser new JsonParser(); JsonElement element jsonParser.parse(json); JsonObject jsonObj element.getAsJsonObject(); jsonObj.addProperty(propertyName, new Gson().toJson(propertyValue)); json jsonObj.toString();# 修改 Json 中的属性 String json {\id\:\1\,\name\:\栗筝i\}; String propertyName name; Object propertyValue 栗筝ii; JsonParser jsonParser new JsonParser(); JsonElement element jsonParser.parse(json); JsonObject jsonObj element.getAsJsonObject(); jsonObj.remove(propertyName); jsonObj.addProperty(propertyName, new Gson().toJson(propertyValue)); json jsonObj.toString();# 判断 Json 中是否有属性 String json {\id\:\1\,\name\:\栗筝i\}; String propertyName name; boolean isContains false ; JsonParser jsonParser new JsonParser(); JsonElement element jsonParser.parse(json); JsonObject jsonObj element.getAsJsonObject(); isContains jsonObj.has(propertyName);7、gsonUtil 工具类 import com.dechnic.common.anno.gson.Exclude; import com.dechnic.common.po.ObjectTypeAdapter; import com.google.gson.ExclusionStrategy; import com.google.gson.FieldAttributes; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.internal.LinkedTreeMap; import com.google.gson.reflect.TypeToken;import java.util.ArrayList; import java.util.List; import java.util.Map;public class GsonUtll {private static Gson gson;static {ExclusionStrategy strategy new ExclusionStrategy() {Overridepublic boolean shouldSkipField(FieldAttributes f) {return f.getAnnotation(Exclude.class) !null;}Overridepublic boolean shouldSkipClass(Class? clazz) {return false;}};gson new GsonBuilder().disableHtmlEscaping().setExclusionStrategies(strategy).registerTypeAdapter(new TypeTokenMapString,Object(){}.getType(),new ObjectTypeAdapter()).serializeNulls().create();}public static MapString,Object jsonStr2Map(String jsonStr){return gson.fromJson(jsonStr, new TypeTokenMapString, Object() {}.getType());}public static ListMapString,Object jsonStr2ListMap(String jsonStr){return gson.fromJson(jsonStr, new TypeTokenListMapString, Object() {}.getType());}public static String toJSON(Object object){return gson.toJson(object);}public static T ListT json2ListBean(String result, ClassT t){List list gson.fromJson(result, new TypeTokenList() {}.getType());List list2 new ArrayList();for (Object o : list) {list2.add(json2Bean(toJSON(o),t));}return list2;}public static T T json2Bean(String result,ClassTt){return gson.fromJson(result, t);}}三、使用 FastJson 完成 Json 字符串和 Java 对象的互转 1、FastJson 介绍 Fastjson 由阿里巴巴公司开发是一个 Java 语言编写的高性能的 Json 处理器。无依赖不需要例外额外的 Jar能够直接跑在 Jdk 上。 FastJson 在复杂类型的 Bean 转换 Json 上会出现一些问题可能会出现引用的类型导致 Json 转换出错需要制定引用。 FastJson 采用独创的算法将 parse 的速度提升到极致超过所有 Json 库。 2、FastJson 引入 Maven 依赖引入 dependencygroupIdcom.alibaba.fastjson2/groupIdartifactIdfastjson2/artifactIdversion2.0.23/version /dependency3、null 值对应 key 的序列化 FastJson 在转换 Java 对象为 Json 的时候默认是不序列化 null 值对应的 key 的也就是说当对象里面的属性为空的时候在转换成 Json 时不序列化那些为 null 值的属性 仔细看 FastJson 转换 Java 对象为 Json 的方法的入参 public static String toJSONString(Object object, com.alibaba.fastjson2.JSONWriter.Feature... features)可以看到 features 是一个数组 JSONWriter.Feature 则是其序列化属性 QuoteFieldNames———-输出 key 时是否使用双引号默认为 trueWriteMapNullValue——–是否输出值为 null 的字段默认为 falseWriteNullNumberAsZero———-数值字段如果为 null输出为 0,而非 nullWriteNullListAsEmpty———-List 字段如果为 null输出为[]而非nullWriteNullStringAsEmpty———-字符类型字段如果为 null输出为”“而非nullWriteNullBooleanAsFalse———-Boolean 字段如果为 null输出为 false而非null 4、FastJson Demo import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONWriter;public class FastJsonTestClass {public static void main(String[] args) {User user new User();user.setIdd(1);user.setName(栗筝i);String str JSONObject.toJSONString(user, JSONWriter.Feature.WriteMapNullValue);System.out.println(str);} } Ps当我们需要把定义类的成员变量属性名和返回的 Json 中的格式名称隔离开可以采用 JSONField 注解标记 5、对象与 Json 互转 # 对象转 Json User user new User(); user.setId(1); user.setName(栗筝i); System.out.println(JSON.toJSONString(user, JSONWriter.Feature.UseSingleQuotes));# Json 转对象 String json {\id\:1,name:张三}; User userModel JSON.parseObject(json, User.class);# 将 Json 解析为 JSONObject String json {\id\:1,name:张三}; JSONObject data JSON.parseObject(json); System.out.println(data.get(id));# 将 Json 解析为 JSONArray String text ...; JSONArray data JSON.parseArray(text);
http://www.hkea.cn/news/14327452/

相关文章:

  • 东门网站建设网站佣金怎么做会计分录
  • 域名解析错误无法上网搜外seo视频 网络营销免费视频课程
  • 文字网站居中基于 wordpress
  • 网站设计上市公司太平洋建设集团招标网站
  • 将网站发布到微信小程序怎么做百度小程序可以根据网站的要求做吗
  • asp.net网站和空网站有什么区别关键词优化价格
  • 网站建设费用要摊销嘛wordpress ckplayer
  • 免费网站制作软件有哪些什么是wordpress程序
  • 网站建设与管理大作业总结商用图片做公司网站可以吗
  • 怎么做pdf电子书下载网站好用心 做网站送女友
  • 北京市住房及城乡建设部网站wordpress 下拉式菜单
  • 长沙建站模板大全如何防止网站被攻击
  • 武威网站怎么做seo模板网站缺点
  • 计算机应用技术网站开发方向松江品划网站建设
  • 企业网站建站元素企业网站托管后果
  • 网站建设可以自己弄吗知乎单页手机网站源码
  • 报电子商务( 网站建设与运营)wordpress编辑器哪个好用
  • 房产网站建设方案的论文杭州市住房和城乡建设部网站
  • 做一个手机网站多少钱专业网站建设价格
  • 企业网站产品优化怎么做如何做自己的游戏网站
  • 网站建设类外文翻译911制品厂麻花
  • 网站建设 目标免费手机端网站模板下载安装
  • 如何开发网站建设业务西安关键词排名优化
  • 服务器怎么建设网站青岛网站建站团队
  • 网站项目综合设计作业 代做wordpress ucenter
  • 地方旅游网站建设必要性免费网课
  • 精品课程网站开发的创新点wordpress购物系统
  • 网站建设技术服务费记什么科目网站备案座机
  • 优秀平面设计作品网站德阳 网站建设
  • 南京市的网站是由那几家公司做的有的网站在浏览器打不开怎么办