java json utf-8_Java 编码 和JSON
1.编码
序列化(urlencode编码):经过urlencode编码
String a="[{\"clubNo\":\"10000002\",\"clubType\":\"1\"},{\"clubNo\":\"10000003\",\"clubType\":\"4\"},{\"clubNo\":\"10000004\",\"clubType\":\"3\"}]";
将字符串a经过urlencode编码: a = java.net.URLEncoder.encode(a,"utf-8");
反序列化(urldecode解码):
String a="%5b%7b%22clubNo%22%3a%2210000002%22%2c%22clubType%22%3a%221%22%7d%2c%7b%22clubNo%22%3a%2210000003%22%2c%22clubType%22%3a%224%22%7d%2c%7b%22clubNo%22%3a%2210000004%22%2c%22clubType%22%3a%223%22%7d%5d";
a=java.net.URLDecoder.decode(a,"UTF-8");
2.JSON
(1)将多个字符串转换成json数据:
String a="ert";
String c="kkkk";
JSONObject json=new JSONObject();
json.put("a", a);
json.put("c", c);
System.out.println(json.toJSONString());
{“a”:"ert","c":"kkkk"}
(2)解析json型的字符串:
String datas="{\"imei\":\"358732036143010\",\"version\":\"2.3\",\"apk\":[{\"appname\":\"SyncKey\",\"packagename\":\"com.discovery.synckey\"},{\"appname\":\"DbTest\",\"packagename\":\"com.discovery.synckey\"},{\"appname\":\"AppUpdate\",\"packagename\":\"com.discovery.synckey\"}]}";
JSONObject reqJson=JSONObject.parseObject(datas);
String imei=reqJson.getString("imei");
String apk=reqJson.getString("apk");//json型集合
JSONArray parseArry =JSONObject.parseArray(apk);
Iterator iterator =parseArry.iterator();
while(iterator.hasNext())
{
JSONObject object =(JSONObject)iterator.next();
String appname =(String)object.getString("appname")
}
(3).
原数据
datas: {"hma17-kme-180425dntn":"1531@1531@3","ym800_7.5_18031521":"745@744@369"}
解析后的数据
{"maxPage":2,"list":[{"name":"hma17-kme-180425dntn","num":"1531","actnum":"1531","weeknum":"3"},{"name":"ym800_7.5_18031521","num":"745","actnum":"744","weeknum":"369"}]}
JSONObject reqJson=JSON.parseObject(datas);
for(Map.Entry entry:reqJson.entrySet()){
System.out.println("~!!!!!!!!!!!!!!!!!!!!!");
System.out.println(entry.getKey());
System.out.println(entry.getValue());
String c=(String)entry.getValue();
String [] res=c.split("@");
String name=entry.getKey();
String num=res[0];
String actNum=res[1];
String weekNum=res[2];
}
(4)
String devices="hXqLTLv9@SyJ4KieG@SNXYQLyR";
String [] res=devices.split("@");
List a=new JSONArray();
for(int i=1;i
{
a.add(res[i]);
}
(5)
原数据
result: ["BuildInfo","t1a_v1.3_build201805230930","IMEI","358732036575930","buildModel","AIINCART1","cpuID","M186MY50SVPL13","cpuInfo","mt6737h:3:0xd03:0x0:7:0x41","deviceSN","0123456789ABCDEF","sysFeature","24","iccid","89861117147550357527"]
解析后的数据
{
"data": {
"sysFeature": "24",
"iccid": "89861117147550357527",
"cpuID": "M186MY50SVPL13",
"BuildInfo": "t1a_v1.3_build201805230930",
"IMEI": "358732036575930",
"buildModel": "AIINCART1",
"cpuInfo": "mt6737h:3:0xd03:0x0:7:0x41",
"deviceSN": "0123456789ABCDEF"
},
"errorCode": "0000",
"errorMsg": "成功获取设备信息"
}
result = result.substring(1, result.length() - 1);
System.out.println("输出结果"+result);
String deviceArray[]= result.split(",");
List deviceInfo =Arrays.asList(deviceArray);for (int i = 0; i < deviceInfo.size(); i += 2) {
String str=deviceInfo.get(i);if (str.contains("BuildInfo")) {
BuildInfo=deviceInfo.get(i + 1).substring(1, deviceInfo.get(i + 1).length() - 1);
}else if (str.contains("IMEI")) {
IMEI=deviceInfo.get(i + 1).substring(1, deviceInfo.get(i + 1).length() - 1);
}else if (str.contains("buildModel")) {
buildModel=deviceInfo.get(i + 1).substring(1, deviceInfo.get(i + 1).length() - 1);
}else if (str.contains("cpuID")) {
cpuID=deviceInfo.get(i + 1).substring(1, deviceInfo.get(i + 1).length() - 1);
}else if (str.contains("cpuInfo")) {
cpuInfo=deviceInfo.get(i + 1).substring(1, deviceInfo.get(i + 1).length() - 1);
}else if (str.contains("deviceSN")) {
deviceSN=deviceInfo.get(i + 1).substring(1, deviceInfo.get(i + 1).length() - 1);
}else if (str.contains("sysFeature")) {
sysFeature=deviceInfo.get(i + 1).substring(1, deviceInfo.get(i + 1).length() - 1);
}else if (str.contains("iccid")) {
iccid=deviceInfo.get(i + 1).substring(1, deviceInfo.get(i + 1).length() - 1);
}
System.out.println("*******"+str);
}
errorCode="0000";
errorMsg="成功获取设备信息";
}
JSONObject json=newJSONObject();
JSONObject out=newJSONObject();
out.put("BuildInfo", BuildInfo);
out.put("IMEI", IMEI);
out.put("buildModel", buildModel);
out.put("cpuID", cpuID);
out.put("cpuInfo", cpuInfo);
out.put("deviceSN", deviceSN);
out.put("sysFeature", sysFeature);
out.put("iccid", iccid);json.put("errorCode", errorCode);
json.put("errorMsg", errorMsg);
json.put("data", out);
3.字符串不区分大小写进行比较
if(res[i].toLowerCase().contains(deviceId.toLowerCase())) //不区分大小写比较是否相等
club.replaceAll("\"\"\"", "\""); //去掉字符串club中的\
a=a.replace("\"", "");//去掉字符串a中的"
4.访问三方的接口
Maven项目中要加依赖:
com.bladejava
blade-kit
1.3.4
(1)get
url="http://"+ipNum+"/wxServer/GetOnlineDeviceID?num=ALL";
HttpRequest req=HttpRequest.get(url);
String content=req.body(); //三方接口返回的内容
(2)post请求
//openIdUrl 具体的url
HttpRequest request = HttpRequest.post(openIdUrl).contentType("application/json;charset=utf-8");
String res = request.body(); //三方接口返回的内容
JSONObject obj = JSON.parseObject(res);
String access_token=obj.getString("access_token"); //三方接口中具体某个字段值
(3)post请求带有数据型访问三方接口
//UNURL 具体的url
String xml="";
HttpRequest request = HttpRequest.post(UNURL).contentType("application/json;charset=utf-8").send(xml);
returnxml=request.body();
java json utf-8_Java 编码 和JSON相关推荐
- Go 学习笔记(20)— Go 操作 json 文件(编码生成 json、解码 json 为 map、解码 json 为 struct)
1. Json 概述 Go 语言对于标准格式的编码和解码都有良好的支持,由标准库中的 encoding/json . encoding/xml . encoding/asn1 等包提供支持并且这类包都 ...
- java url utf 8_java中文乱码解决之道(八)—–解决URL中文乱码问题
我们主要通过两种形式提交向服务器发送请求:URL.表单.而表单形式一般都不会出现乱码问题,乱码问题主要是在URL上面.通过前面几篇博客的介绍我们知道URL向服务器发送请求编码过程实在是实在太混乱了.不 ...
- swift php json解析,Swift 4.0 | JSON数据的解析和编码
文 / 菲拉兔 自己撸的图 要求: Platform: iOS8.0+ Language: Swift4.0 Editor: Xcode9 [问题补充2017-09-28] 最近我发现了一个问题:在S ...
- python json文件操作_python对json的操作总结
引言 你一定听说过 JSON 吧.JSON 是当前最常用的数据传输格式之一,纯文本,容易使用,方便阅读,最重要的是在多个场合都被大量被使用. 既然 JSON 这么好,那就让我们继续探险,去掌握 pyt ...
- java 将json转成utf 8_C# JSON转换以及编码转换
C# JSON转换以及编码转换 一.C# Json转换 首先需要下载安装Newtonsoft.Json.dll,下载地址 引用后再添加:using Newtonsoft.Json;using Newt ...
- java,验证码base64编码到json字符串出显数据一行一行的问题,关于base64编码函数解释
因为在写项目图片验证码时遇到: 一个json解析错误. Error: 在第1行发生解析错误 : {"code":"/9j/4AAQSkZJRgABAgA此处缺少'STRI ...
- java json重命名,eclipse中java变量怎么变成json格式的编码?
我们想要使用eclipse来进行从java变量到json格式的编码米该怎么实现呢?下面我们就来看看详细的教程. 一.导入jar包 1.我们首先要下载好我们需要的json包,然后我们右击项目,选择&qu ...
- java jackson unicode_如何让Jackson JSON生成的数据包含的中文以unicode方式编码
我们都知道,Jackson JSON以高速.方便和灵活著称.之前的文章中介绍过使用注解的形式来规定如何将一个对象序列化成JSON的方法,以及如何将一个JSON数据反序列化到一个对象上.但是美中不足的一 ...
- jsp java json解析,jsp中获取json字符串,并解析
JqueryDemo1 function showData() { var str='{ "name": "John" }';//json标准格式 var ob ...
- websockets_使用Java WebSockets,JSR 356和JSON映射到POJO的
websockets 因此,我一直在研究Tyrus (JSR 356 WebSocket for Java规范的参考实现). 因为我一直在寻找测试工具,所以我对在Java中同时运行客户端和服务器端感兴 ...
最新文章
- R语言相关性计算及使用ggcorrplot包相关性分析热力图可视化分析实战
- JAVA Web day02--- Android小白的第二天学习笔记
- mysql后台修改表_mysql之约束以及修改数据表
- CF-196 D.The Next Good String(hash)
- VS2005 Web Application Project启用WSE(Ver 3.0)的方法
- c语言加花指令,花指令的应用
- jssdk分享设置_JSSDK自定义分享
- php设置文件权限问题,php以fastCGI的方式运行时文件系统权限问题及解决方法
- SpringSecurity实现记住我功能
- 高仿微信聊天界面长按弹框样式
- compose yaml规则
- Spring Boot整合Druid的使用以及步骤
- 量化交易 第八课 多因子策略流程
- vue请求axio的使用详解
- 一文介绍完整:python猴子补丁python monkey patch 没听过?
- Assembler messages error gcc and clang build
- GD32F10x的窗口看门狗定时器
- C++多线程卡死问题--访问冲突未必崩溃
- 面向对象程序设计中对抽象的理解
- Android 11 默认打开开发者选项
热门文章
- 《面向对象的思考过程(原书第4版)》一 导读
- Android布局属性详解之RelativeLayout
- BlackBerry 应用程序开发者指南 第一卷:基础--第5章 支持的媒体内容(Media Content)...
- oem是代工还是贴牌_代加工和贴牌加工的区别是什么
- VMware文件共享
- leetcode面试题 08.04. 幂集(递归)
- pb 放弃数据窗口所做修改_为什么我放弃在线数据课程进行基于项目的学习
- wordpress 插件_如何为您的Web应用程序创建WordPress插件
- 机器学习 量子_量子机器学习:神经网络学习
- 到2025年将保持不变的热门流行技术