1,问题是这样的 我们公司这边是PHP端 需要POST数据到服务端去,服务端的语言是JAVA的,所以传过去的也是json数据。
2下面是我的json数据格式
{
"action": "registerProduct",
"app_key": "hufanjin@163.com",
"data": {
"productCode": "AU-QCQP50098",
"chineseName": " 儿童汽车座椅增高垫深绿色1",
"englishName": "sadfas",
"categoryOne": "11",
"registeredWeight": "1.29",
"fixedVolumeWeight": "Y",
"registeredLength": "40.00",
"registeredWidth": "38.00",
"registeredHeight": "18.00",
"branded": "Y",
"brandedName": "1",
"model": "HG",
"displayPageUrl": "www.baidu.com",
"exportCountry": "CN",
"inporCountry": "AU",
"inportDeclaredvalue": "5.94",
"exportDeclaredvalue": "5.94",
"battery": "Y"
},
"format": "json",
"language": "zh_CN",
"platform": "SELLERERP",
"sign": "608366A0D440BFB176BA3F13B6105873",
"sign_method": "md5",
"version": "1.0"
}
3.服务端返回是非法的json字符串。
4.自己的思路就是以为破坏了json的格式,可是验证并不存在json数据格式错误。
5.又或则是这个单引号或则双引号存在问题。
中文字符没有escape?
java那边不需要那样java端用的什么json库?试试fastjson库?
我是对接第三方的接口报啥错,截图下
header有没有设置json,还有utf-8
这是报错信息
这是我发送的
这是我的数据结构
PHP将List,ArrayList,Map,Hashmap视为数组,而Java区分很严格,使用(),还是{},还是用[]对与PHP没有那么多要求。
Java差一点都不能decode.你要搞明白(),[],{}
还要注意Int,Float,String,java是强类型的比如上面的5.94是字符串,是否需要转换为浮点型好的多谢提醒,正在排查这个问题PHP将List,ArrayList,Map,Hashmap视为数组,而Java区分很严格,使用(),还是{},还是用[]对与PHP没有那么多要求。
Java差一点都不能decode.你要搞明白(),[],{}
我们公司进行数据交互的时候 json中的所有字段全部定为String类型的 然后再在服务端进行转换
判断一下是不是编码问题。和java端配合调试一下。看他收到你的请求体内容现在解决了吗我也遇到楼主的问题,这边base64加密后就没问题。如果不加密有好的办法吗
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。