开发者社区> 问答> 正文

php post json数据到java端报错?报错

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.又或则是这个单引号或则双引号存在问题。

展开
收起
爱吃鱼的程序员 2020-06-08 17:02:31 821 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    中文字符没有escape?

    java那边不需要那样

    java端用的什么json库?试试fastjson库?

    我是对接第三方的接口

    报啥错,截图下

    header有没有设置json,还有utf-8

    这是报错信息

    这是我发送的

    这是我的数据结构

     

    PHP将List,ArrayList,Map,Hashmap视为数组,而Java区分很严格,使用(),还是{},还是用[]对与PHP没有那么多要求。

    Java差一点都不能decode.你要搞明白(),[],{}

    还要注意Int,Float,String,java是强类型的比如上面的5.94是字符串,是否需要转换为浮点型好的多谢提醒,正在排查这个问题

    引用来自“neo-chen”的评论

    PHP将List,ArrayList,Map,Hashmap视为数组,而Java区分很严格,使用(),还是{},还是用[]对与PHP没有那么多要求。

    Java差一点都不能decode.你要搞明白(),[],{}

    我们公司进行数据交互的时候 json中的所有字段全部定为String类型的 然后再在服务端进行转换 

    判断一下是不是编码问题。和java端配合调试一下。看他收到你的请求体内容

    现在解决了吗我也遇到楼主的问题,这边base64加密后就没问题。如果不加密有好的办法吗

     

    2020-06-08 17:02:46
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载