Go的json.Marshal 与 PHP的json_encode 对于url不同的处理结果

157 阅读1分钟

对url,分别执行Go的json.Marshal 与 PHP的json_encode,产生的结果是不同的

    str := "https://cn.bing.com/search?pglt=675&q=php";
    byteData,_ := json.Marshal(str);
    fmt.Println(string(byteData));   //输出"https://cn.bing.com/search?pglt=675\u0026q=php"
    $str = "https://cn.bing.com/search?pglt=675&q=php";
    echo json_encode($str, JSON_UNESCAPED_SLASHES);   //输出"https://cn.bing.com/search?pglt=675&q=php"

注意:&在GO中会被转为Unicode, 还有很多迷惑行为

码上掘金的链接

GO

php

码上掘金 (juejin.cn)的php环境还在实验阶段(截至发文)。