jsonobject

axios 发 post 请求,后端接收不到参数的解决方案

天大地大妈咪最大 提交于 2020-01-29 22:21:45
问题场景 场景很简单,就是一个正常 axios post 请求: axios({ headers: { 'deviceCode': 'A95ZEF1-47B5-AC90BF3' }, method: 'post', url: '/api/lockServer/search', data: { username, pwd } }) 后台说没有接收到你的传参。 这就有点奇怪了,我看了一下浏览器的请求信息是 OK 的,参数都是有的,而且之前这样用 axios 也没有这个问题。 但是这个接口是通用的,别人都用了,是 OK 的,接口没问题。 问题原因 要点1 原因就是这次的接口使用 java spring mvc 并且在这个方法上使用了注解 @RequestParam 那么这个是什么意思呢,这个是只能从请求的地址中取出参数,也就是只能从 username=admin&password=admin这种字符串中解析出参数。 要点2 我们还可以看到我们这次请求的 Content-Type: application/json;charset=UTF-8 关于这一点需要说明的是: 1、axios会帮我们 转换请求数据和响应数据 以及 自动转换 JSON 数据 2、在 axios 源码中发现下面这段内容:(很关键) ==我们知道在做 post 请求的时候,我们的传参是 data: {...} 或者直接

JSON转String

喜欢而已 提交于 2020-01-29 19:47:03
JSON转String String s = JSONObject.toJSONString(object); String s1 = new ObjectMapper().writeValueAsString(object); net.sf.json.JSONObject jsonObject = net.sf.json.JSONObject.fromObject(object); 来源: CSDN 作者: weixin_ab 链接: https://blog.csdn.net/weixin_43114485/article/details/104108806

fastjson中Map与JSONObject互换

非 Y 不嫁゛ 提交于 2020-01-29 09:25:32
1、//将map转换成jsonObject JSONObject itemJSONObj = JSONObject.parseObject(JSON.toJSONString(itemMap)); 将Map类型的itemInfo转换成json,再经JSONObject转换实现。 2、//将jsonObj转换成Map Map<String, Object> itemMap = JSONObject.toJavaObject(itemJSONObj, Map.class); //JOSN.parseObjet()方法同样可以转换 来源: https://www.cnblogs.com/eternityz/p/12239569.html

fastjson将json字符串转化成map的五种方法

孤街浪徒 提交于 2020-01-29 09:25:09
String str = "{\"0\":\"zhangsan\",\"1\":\"lisi\",\"2\":\"wangwu\",\"3\":\"maliu\"}"; //第一种方式 Map maps = (Map)JSON.parse(str); System.out.println("这个是用JSON类来解析JSON字符串!!!"); for (Object map : maps.entrySet()){ System.out.println(((Map.Entry)map).getKey()+" " + ((Map.Entry)map).getValue()); } //第二种方式 Map mapTypes = JSON.parseObject(str); System.out.println("这个是用JSON类的parseObject来解析JSON字符串!!!"); for (Object obj : mapTypes.keySet()){ System.out.println("key为:"+obj+"值为:"+mapTypes.get(obj)); } //第三种方式 Map mapType = JSON.parseObject(str,Map.class); System.out.println("这个是用JSON类,指定解析类型,来解析JSON字符串!!!");

redis 初步了解

最后都变了- 提交于 2020-01-29 01:28:02
1.连接redis 通过java操作 1.首先 导入redis驱动 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency> 2.连接redis通过jedis 2.创建redis连接池 连接redis通过 jedis 相当于HTTPclient 1.创建单例模式的方法 在调用的时候被创建 2.创建私有静态 jedisPool 3. 创建私有类 创建静态代码块 放入连接池的基本配置 4.有 最大连接数 最大空闲书 最小空闲连接数 5. 创建连接redis对象jedis 6.创建一个向外提供 从连接池拿值得方法 7.再创建一个向外提供使用完连接 归还连接的方法 8.创建工具类 将set hash 进行方法封装 归还连接 代码 public class RedisPool { //创建jedis 使用单例模式 JedisPool的配置参数大部分是由JedisPoolConfig的对应项来赋值的。 private static JedisPool jedisPool; private RedisPool(){} static { //连接池基本配置 JedisPoolConfig 是为了缓存连接,减少建立连接的次数

阿里fastjson解析

亡梦爱人 提交于 2020-01-28 21:43:57
解析案例 String object="{total=1, rows=[{_Account=3646808, UserID=131514, Mt4Name=SewwoaIQQS, ServerID=14, InMoney=7911.0, OutMoney=6479.76, Balance=3001.95, Margin=0.0, Equity=2406.6, Profit=-595.35, GroupName=W-Default, Leverage=200, TradeFee=0.0, CreateTime=2017-08-09T06:55:28.14, Status=1, IsReal=0, Credit=0.0}]}"; JSONObject jsonObject= JSON.parseObject(object); JSONArray jsonArray=jsonObject.getJSONArray("rows"); JSONObject detail=jsonArray.getJSONObject(0); Double equity=detail.getDouble("Equity"); 参考 fastJson对于json格式字符串的解析主要用到了一下三个类: JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换。

Java实现微信网页授权

不问归期 提交于 2020-01-28 15:12:03
微信测试平台 : https://open.weixin.qq.com/connect/qrconnect?appid=wx39c379788eb1286a&scope=snsapi_login&redirect_uri=http%3A%2F%2Fmp.weixin.qq.com%2Fdebug%2Fcgi-bin%2Fsandbox%3Ft%3Dsandbox%2Flogin 开发前的准备: 1、需要有一个公众号(我这里用的测试号),拿到AppID和AppSecret; 2、进入公众号开发者中心页配置授权回调域名。具体位置:接口权限-网页服务-网页账号-网页授权获取用户基本信息-修改 注意,这里仅需填写全域名(如www.qq.com、www.baidu.com),勿加 http:// 等协议头及具体的地址字段;   我们可以通过使用Ngrok来虚拟一个域名映射到本地开发环境,网址https://www.ngrok.cc/,大家自己去下载学习怎么使用 同时还需要扫一下这个二维码 授权步骤: 1、引导用户进入授权页面同意授权,获取code 2、通过code换取网页授权access_token(与基础支持中的access_token不同) 3、通过网页授权access_token和openid获取用户基本信息 先看一下我的项目结构: web.xml相关代码: <?xml version

java fastjson:Map与json以及JSONObject ,JSONObject与String互转

馋奶兔 提交于 2020-01-25 19:35:03
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject ; import com.alibaba.fastjson.JSONPath; import com.jayway.jsonpath.Configuration; import com.jayway.jsonpath.JsonPath; import java.util.Map; public class fastTestJson { static void type(Object o){ print(o.getClass().getName()); } public static void main(String[] args) { String obj = "{\"data\":{\"access_token\":\"5a7040ccf66bafd06acd39b6f61c19230eaba426755509646d6da23ddd9fb206\",\"expires_second\":36000},\"rlt_code\":\"HH0000\",\"rlt_msg\":\"成功\"}"; ; JSONObject JS = JSONObject

类型转换

谁说我不能喝 提交于 2020-01-23 22:54:55
   1.js转换保留2位小数不足两位自动补0超过两位四舍五入:属性.toFixed(2); ()里是保留的位数 2.把list转成json     1.使用JSONObject();         导入org.json.JSONArray包         JSONObject jo=new JSONObject();        jo.put("名",值) 3.把JSON转成list      JSON.parseObject(userJson, new TypeReference<ArrayList<User>>(){}); 4.JSON 转 String     1.JSON.parse(“要转换的数组”) 。     2.JSON.stringify(“要转化的数组”)。     3.首先,两个方法的用法是有差别的。       ①.JSON.stringify是从一个对象中解析出字符串。       ②.JSON.parse是从一个字符串中解析出json(键值对)。     一.JSON.parse()【从一个字符串中解析出json对象】         1.//定义一个字符串,var data='{"name":"goatling"}'。         2.//解析对象,JSON.parse(data)。         3.结果是:name:"goatling

使用第三方实现微信登录

别来无恙 提交于 2020-01-23 00:11:31
使用第三方实现微信登录 1.开启内网穿透 什么是内网穿透? 内网穿透,即 NAT 穿透,网络连接时术语,计算机是局域网内时,外网与内网的计算机节点需要连接通信,有时就会出现不支持内网穿透。就是说 映射端口 ,能让 外网的电脑找到处于内网的电脑 ,提高下载速度。不管是内网穿透还是其他类型的网络穿透,都是网络穿透的统一方法来研究和解决。 通俗一点 : 就是把你本地的项目让外网的人可以访问 选择一个工具 https://natapp.cn/ 免费注册 购买渠道,选择免费的 我的渠道,复制密钥authtoken 使用教程,可看网页上右上角的教程/文档 根据需要 , 下载客户端 在 natapp.exe 目录下新建 conf.ini 修改配置再启动 Conf.ini里面的内容 # 将本文件放置于 natapp 同级目录 程序将读取 [default] 段 # 在命令行参数模式如 natapp -authtoken=xxx 等相同参数将会覆盖掉此配置 # 命令行参数 -config= 可以指定任意 config.ini 文件 [default] authtoken=f5e6474f4bc9fcc7 # 对应购买的隧道中的 authtoken clienttoken= # 对应客户端的 clienttoken, 将会忽略 authtoken, 若无请留空 , log=none #log 日志文件