gson使用

Gson简要使用笔记

旧时模样 提交于 2020-03-08 14:13:09
  前几段微软推出的大数据人脸识别年龄应用how-old.net在微博火了一把,它可以通过照片快速获得照片上人物的年龄,系统会对瞳孔、眼角、鼻子等27个“面部地标点"展开分析,进而得出你的“颜龄"。 来看下关于这款应用的截图:  昨晚闲着没事,在网上查阅了点资料仿写了一款类似功能的APP,看下截图:       关于人脸识别技术本想去使用微软给开发人员提供的SDK,但由于天朝巨坑的网络,我连How-old.net官网都登不上,只能绕道去找找其他地方有没类似功能的SDK。后来想起之前在搞O2O的时候,看到过一则关于支付宝"刷脸支付"功能的新闻,查找了相关资料发现他们的"刷脸技术"是Face++提供的,也就这样找到了个好东西。   这是Face++的官方网站: http://www.faceplusplus.com.cn/ ,在网站里可以找到它为开发者提供了一部分功能的SDK(需要注册),其中就有人脸识别,判断年龄性别种族这个功能。   我们注册个账号,然后创建个应用就可以得到官方给我们提供的APIKey和APISecret,记录下来,然后到到开发者中心( http://www.faceplusplus.com.cn/dev-tools-sdks/ )就可以下载到对应版本的SDK,就一个Jar包直接导入项目就可以,这是官方给我们提供的API参考文档( http://www

使用泛型问题(待解决)

一世执手 提交于 2020-03-01 11:44:58
写了如下方法: public static <T> List<T> parserJson(String json) {//todo wj Gson gson = new Gson(); Type collectionType = new TypeToken<Collection<T>>() { }.getType(); Collection<T> enums = gson.fromJson(json, collectionType); Iterator<T> iterator = enums.iterator(); List<T> pageItems = CommUtils.copyIterator(iterator); return pageItems; } 通过直接调用的时候能够正常调用,获取到List集合: List<FaceCheckResultItem> objects = JsonParser.parserJson(response); 但如果要获取其内部对象的时候,就会保存转换异常: objects.get(1).getInfo() ClassCastException: java.util.HashMap cannot be cast to xxxxxx(JavaBean对象) 来源: oschina 链接: https://my.oschina.net/u

【JavaSE】Gson的巧妙使用

只愿长相守 提交于 2020-02-22 22:02:20
Gson类是由谷歌公司提供的一个强大的类。它可以将任意对象转换成字符串,还可以将任意字符串,通过给定的类型,转换成对应该类型的对象。 来举个例子: public class Test { public static void main ( String [ ] args ) { Gson gson = new GsonBuilder ( ) . create ( ) ; Complex complex = new Complex ( ) ; complex . setReal ( 34.4 ) ; System . out . println ( complex ) ; String result = gson . toJson ( complex ) ; System . out . println ( result ) ; Complex otherComplex = gson . fromJson ( result , Complex . class ) ; System . out . println ( otherComplex ) ; } } 对于上述的Complex类 : public class Complex { private double real ; private double vir ; public Complex ( ) { } public

AndroidStudio 混淆打包

北慕城南 提交于 2019-12-17 19:52:54
AndroidStudio中的项目可以用compile的形式引入github上的开 源项目,可以引用module,而不一定都要用libs文件夹中添加jar包的形式。在最终realease打包时,混淆的设置是比较重要的,否则会导致 生成的包有很多功能不能正常使用。下面列举一个基本的app的build.gradle和混淆文件。并注意,混淆打包后的apk文件大小会比不使用混淆要 小。 在app根目录下设置build.gradle和混淆文件,然后把混淆选项写入混淆文件就可以。虽然app项目中可能引用了一些module,但这些module工程可以不定义自己的混淆,我的工程目录结构如下: 其中app是应用主模块,引用剩余的module,被引用module的build.gradle中都使用默认的设置不启用混淆: buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } 在主目录的build.gradle: apply plugin: 'com.android.application' def releaseTime() { return new Date().format("yyyy-MM-dd"

jackson、gson、fastjson

℡╲_俬逩灬. 提交于 2019-11-27 05:05:20
1、jackson用法 (1)创建ObjectMapper对象(可重复使用对象) ObjectMapper om=new ObjectMapper (); (2)反序列化到对象 Student stu=om. readValue (jsonString,Student.class); (3)序列化对象到json JsonString jstr=om. writeValueAsString (stu); JsonString jstr=om. writeValue (Io流,stu); 例writer w=newStringWrite(); OutputStream ot=new OutPutStream(); 2、阿里的fastJson速度最快 (1)序列化ApI package com.alibaba.fastjson; public abstract class JSON { // 将Java对象序列化为JSON字符串,支持各种各种Java基本类型和JavaBean public static String toJSONString (Object object, SerializerFeature... features); // 将Java对象序列化为JSON字符串,返回JSON字符串的utf-8 bytes public static byte[] toJSONBytes

android开发中json与java对象相互转换

不打扰是莪最后的温柔 提交于 2019-11-26 15:39:28
json与java对象的相互转换.(使用com.google.gson) 在Android开发过程中,客户端总是需要从服务器获取数据,包括XML和json格式,目前json格式的数据使用较为普遍,所以了解json与java对象两者之间的相互转换是很有必要的,一句话就能达到目的。 json转java对象: Object obj=new Gson().fromJson(like,newTypeToken<Object>() {}.getType()); 其中Object可以是单独的一个对象,也可以是一个list 序列化的java对象转json: String jsonString=new Gson().toJson(Object)) refs: Java & Android | Json和对象/集合互转 https://www.jianshu.com/p/877dfcf44db6 来源: https://www.cnblogs.com/bluestorm/p/11324863.html