golang 里面非常好实现
package main
import (
"encoding/json"
"fmt"
)
type Info struct {
Id int `json:"id"`
Title string `json:"title"`
Content string `json:"content"`
}
func main() {
info := Info{
Id: 1002,
Title: "标题",
Content: "内容",
}
data, err := json.Marshal(info)
if err != nil {
fmt.Println("err = ", err.Error())
return
}
fmt.Println("data = ", data)
}
// output
// data = [123 34 105 100 34 58 49 48 48 50 44 34 116 105 116 108 101 34 58 34 230 160 135 233 162 152 34 44 34 99 111 110 116 101 110 116 34 58 34 229 134 133 229 174 185 34 125]
// len = 47
PHP里面如何将生成这样的数据传递给go
<?php
class Info
{
public $id;
public $title;
public $content;
}
$info = [
'id' => 1002,
'title' => '标题',
'content' => '内容',
];
$data = unpack("C*", json_encode($info));
echo "[" . implode(" ", $data) . "]\n";
var_dump(count($data));
// 输出
// [123 34 105 100 34 58 49 48 48 50 44 34 116 105 116 108 101 34 58 34 92 117 54 56 48 55 92 117 57 56 57 56 34 44 34 99 111 110 116 101 110 116 34 58 34 92 117 53 49 56 53 92 117 53 98 98 57 34 125]
// int(59)
为啥要这样呢? 直接json string 传不行么?php这边直接 json_encode 后的json字符串给go, go那边做下转换 []byte(json string) 就可以了啊