step1: 加密和解密

package com.example.textdemo;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;
import android.text.TextUtils;
import android.util.Base64;
import android.util.Log;import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;import java.io.UnsupportedEncodingException;
import java.util.List;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);String firstString = "eyJ3ZWJzaXQiOiJodHRwczpcL1wvbWcubWluZG9yZHouY29tXC9taW5kb3JcL2Rvd25sb2FkX2FwcGx5P2lkPTk2IiwiZGV2S2V5IjoiZTYyYzUwNmVkOWFhNDZjMmFiNTBlMDMzOTgzNWVmY2YiLCJkZXZTZWNyZXQiOiI5YTliMTZkNjg4MTc0YTIzYTAzMjY5NDliMjNlNTFjYiIsInVzZXJJZCI6Im1pbkFwcDExMzk4OCIsInBsYXRmb3JtIjoiaU9TIiwibW9kZWwiOiJpUGhvbmUiLCJlcXVpcG1lbnRzIjoiW3tcImVxdWlwbWVudElkXCI6XCJ6Y3owMDIxMDM5MTBcIixcImVxdWlwbWVudE5vdGVcIjpcIuS4gOawp+WMlueisyhjbylcIixcInByb2R1Y3RJZFwiOlwiemN6MDAyXCJ9XSIsInR5cGUiOiJzaGFyZSIsImRldmljZXMiOiJ6Y3owMDIxMDM5MTAiLCJuaWNrTmFtZSI6IiIsImNyZWF0ZVRpbWUiOjE2NTA1ODk3Nzd9";/**解析base64   字符串* */String lastString = base64Decode(firstString, "UTF-8");Log.e("TAG", "" + lastString);Gson gson = new Gson();ScanCodeBean mScanCodeBean = gson.fromJson(lastString, ScanCodeBean.class);String webSitString = mScanCodeBean.getWebsit();String equipments = mScanCodeBean.getEquipments();Log.e("TAG", "" + webSitString + "\t" + equipments);/*  差不多完成版本final GsonBuilder gsonBuilder = new GsonBuilder();final Gson gson2 = gsonBuilder.create();ScanCodeDeviceBean[] testCase = gson2.fromJson(equipments, ScanCodeDeviceBean[].class);//        ScanCodeDeviceBean testCase = gson2.fromJson(equipments, ScanCodeDeviceBean.class);String equipmentNote =  testCase[0].getEquipmentNote();Log.e("TAG", "" +equipmentNote);*/List<ScanCodeDeviceBean> scanCodeDeviceBeanList = gson.fromJson(equipments, new TypeToken<List<ScanCodeDeviceBean>>() {}.getType());Log.e("TAG", "" + scanCodeDeviceBeanList);/*   ScanCodeDeviceBean mScanCodeDeviceBean = gson.fromJson(equipments, ScanCodeDeviceBean.class);String equipmentId = mScanCodeDeviceBean.getEquipmentId();Log.e("TAG", "" + equipmentId + "\t");*/}/*** Base64加密字符串** @param content     -- 代加密字符串* @param charsetName -- 字符串编码方式* @return*/private String base64Encode(String content, String charsetName) {if (TextUtils.isEmpty(charsetName)) {charsetName = "UTF-8";}try {byte[] contentByte = content.getBytes(charsetName);return Base64.encodeToString(contentByte, Base64.DEFAULT);} catch (UnsupportedEncodingException e) {e.printStackTrace();}return "";}/*** Base64解密字符串** @param content     -- 待解密字符串* @param charsetName -- 字符串编码方式* @return*/private String base64Decode(String content, String charsetName) {if (TextUtils.isEmpty(charsetName)) {charsetName = "UTF-8";}byte[] contentByte = Base64.decode(content, Base64.DEFAULT);try {return new String(contentByte, charsetName);} catch (UnsupportedEncodingException e) {e.printStackTrace();}return "";}}

step2: 生成json对象

package com.example.textdemo;import android.os.Bundle;
import android.util.Log;import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;import com.google.gson.Gson;import java.util.ArrayList;
import java.util.List;public class HomeActivity extends AppCompatActivity {@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);/**生成json  首先生成list*/List<ScanCodeDeviceBean> scanCodeDeviceBeanList = new ArrayList<>();ScanCodeDeviceBean mScanCodeDeviceBean = new ScanCodeDeviceBean();mScanCodeDeviceBean.setEquipmentId("zcz002103910");mScanCodeDeviceBean.setEquipmentNote("一氧化碳(co)");mScanCodeDeviceBean.setProductId("zcz002");scanCodeDeviceBeanList.add(mScanCodeDeviceBean);Log.e("TAG", "" +scanCodeDeviceBeanList);Gson gson = new Gson();//  List<WellSectionEntity> sectionlist = gson.fromJson(jsonTemp, new TypeToken<List<WellSectionEntity>>(){}.getType());String age =  gson.toJson(scanCodeDeviceBeanList);Log.e("TAG", "" +age);/**list转字符串*/ScanCodeBean mScanCodeBean = new ScanCodeBean();mScanCodeBean.setWebsit("https://mg.mindordz.com/mindor/download_apply?id=96");mScanCodeBean.setDevKey("e62c506ed9aa46c2ab50e0339835efcf");mScanCodeBean.setDevSecret("9a9b16d688174a23a0326949b23e51cb");mScanCodeBean.setUserId("minApp113988");mScanCodeBean.setPlatform("iOS");mScanCodeBean.setModel("iPhone");mScanCodeBean.setEquipments(age);mScanCodeBean.setType("share");mScanCodeBean.setDevices("zcz002103910");mScanCodeBean.setNickName("");mScanCodeBean.setCreateTime(1650589777);String name =  gson.toJson(mScanCodeBean);Log.e("TAG", "" +name);}
}

step3:

package com.example.textdemo;public class ScanCodeBean{/*** websit : https://mg.mindordz.com/mindor/download_apply?id=96* devKey : e62c506ed9aa46c2ab50e0339835efcf* devSecret : 9a9b16d688174a23a0326949b23e51cb* userId : minApp113988* platform : iOS* model : iPhone* equipments : [{"equipmentId":"zcz002103910","equipmentNote":"一氧化碳(co)","productId":"zcz002"}]* type : share* devices : zcz002103910* nickName :* createTime : 1650589777*/private String websit;private String devKey;private String devSecret;private String userId;private String platform;private String model;private String equipments;private String type;private String devices;private String nickName;private int createTime;public String getWebsit() {return websit;}public void setWebsit(String websit) {this.websit = websit;}public String getDevKey() {return devKey;}public void setDevKey(String devKey) {this.devKey = devKey;}public String getDevSecret() {return devSecret;}public void setDevSecret(String devSecret) {this.devSecret = devSecret;}public String getUserId() {return userId;}public void setUserId(String userId) {this.userId = userId;}public String getPlatform() {return platform;}public void setPlatform(String platform) {this.platform = platform;}public String getModel() {return model;}public void setModel(String model) {this.model = model;}public String getEquipments() {return equipments;}public void setEquipments(String equipments) {this.equipments = equipments;}public String getType() {return type;}public void setType(String type) {this.type = type;}public String getDevices() {return devices;}public void setDevices(String devices) {this.devices = devices;}public String getNickName() {return nickName;}public void setNickName(String nickName) {this.nickName = nickName;}public int getCreateTime() {return createTime;}public void setCreateTime(int createTime) {this.createTime = createTime;}
}

step4:

package com.example.textdemo;public class ScanCodeDeviceBean {/*** equipmentId : zcz002103910* equipmentNote : 一氧化碳(co)* productId : zcz002*/private String equipmentId;private String equipmentNote;private String productId;public String getEquipmentId() {return equipmentId;}public void setEquipmentId(String equipmentId) {this.equipmentId = equipmentId;}public String getEquipmentNote() {return equipmentNote;}public void setEquipmentNote(String equipmentNote) {this.equipmentNote = equipmentNote;}public String getProductId() {return productId;}public void setProductId(String productId) {this.productId = productId;}
}

end

base64加密解密和json处理相关推荐

  1. 在线BASE64加密解密、UrlEncode编码/解码、native/ascii在线转换工具 -toolfk程序员工具网

    本文要推荐的[ToolFk]是一款程序员经常使用的线上免费测试工具箱,ToolFk 特色是专注于程序员日常的开发工具,不用安装任何软件,只要把内容贴上按一个执行按钮,就能获取到想要的内容结果.Tool ...

  2. javascript base64加密解密

    javascript base64加密解密 <!DOCTYPE HTML> <html> <head> <meta charset="utf-8&q ...

  3. chrome 控制台 base64加密解密

    1.视界 2. 背景 因为在客户机器,要查询base64的解密信息,但是因为内网无法使用网络,只能拷贝软件本想查询插件,后来发现谷歌支持解密 3.方法 在chrome控制台上可以直接使用函数做base ...

  4. ImageUtils.java:图片处理工具类[裁剪/图片水印/文字水印/缩放补白/Base64加密解密]

    用到的jar包: commons-beanutils-1.8.0.jar commons-codec-1.10.jar package com.zhenzhigu.commons.util;   im ...

  5. 在线base64加密解密工具

    在线base64加密解密工具 在线base64加密解密工具 本工具支持对字符串进行base64加密和解密(严格来说,只能算是字符串编码),纯客户端计算,数据不会上传到服务器中,请放心使用. https ...

  6. js怎么实现对html代码加密解密,JS实现Base64加密解密

    JavaScript实现Base64加密解密.Base64与其说是加密算法不如说是方便数据传输而生的数据转换手段. 测试代码:html> test .resource_enc, .resourc ...

  7. Java base64加密解密 两种实现方式

    1.为什么要使用Base 64 Base 64主要用途不是加密,而是把一些二进制数转成普通字符,方便在网络上传输. 由于一些二进制字符在传输协议中属于 控制字符,不能直接传送,所以需要转换一下才可以. ...

  8. asp php base64 加密解密,base64加密解密_php base64_decode 解码方法

    base64加密解密_php base64_decode 解码方法 观点1: php实现base64加密解密 在PHP中我们可以直接使用PHP自带的函数 base64_encode() 和 base6 ...

  9. js对url进行base64加密解密

    原文链接:https://dsx2016.com/?p=972 微信公众号:大师兄2016 无论是传递给后台url地址,还是前端复制链接和分享链接. 都需要对url进行处理,避免一些特殊符号等格式造成 ...

最新文章

  1. 适用于CUDA GPU的Numba例子
  2. 办公电脑变买为租,“企业惊变”背后神秘推手
  3. Morphling:云原生部署 AI ,如何把降本做到极致?
  4. C语言与JAVA内存管理_C语言内存管理
  5. 重构指南 - 引入参数对象(Introduce Parameter Object)
  6. Sencha Touch2中数据的获取
  7. 汇编语言---函数调用栈
  8. java 并发编程框架
  9. ubuntu 16.04 更改jupyter notebook工作路径
  10. pandas某一列去重获取唯一值
  11. linux下hadoop 环境搭建
  12. GIGABYTE技嘉主板内存手动超频教程
  13. 全国计算机二级vf成绩查询,2017全国计算机二级《VF》考点习题
  14. ENVI操作:监督分类
  15. 软件设计师真题及解析
  16. 苹果 iPhone、Mac日历订阅源收集
  17. python只保留大写字母_python 将文件中除保留字外的小写字母换成大写字母(转换后可运行)...
  18. 阿里钉钉、蚂蚁、饿了么,淘宝真实面试分享
  19. 桃飘火焰焰,梨堕雪漠漠。(排序 贪心
  20. 照度/感光度(Lux)

热门文章

  1. 安装Python-Jenkins
  2. VSCode解决头文件报红问题
  3. rdkit 读写分子操作
  4. 虚拟机卸载不干净解决办法
  5. 网络电台(WIZ550io)
  6. Java不行了?别开玩笑了,它明明一直很火
  7. 王学岗——钉钉视频会议实战,从零手写音视频会议项目
  8. VUE自定义指令-权限校验
  9. 空间掩模matlab,Matlab数字图像 空间滤波
  10. 谈谈软件开发人员基本要求