在grpc服务器中,我需要从json文件中读取数据,并将其发送到带有protobuf的客户端

时间:2019-12-29 09:44:44

标签: json go grpc

我的users.json文件中包含以下数据:

{
    "person":[
    {
        "Name":"Siavash",
        "LastName":"Salar",
        "Age":33,
        "Email":"s.salar@gmail.com"
    }
]
}

以及.proto文件中的以下消息和rpc:

message empty{

}
    message Person{
        string name=1;
        string lastname=2;
        int32 age=3;
        string email=4;
    }

    service UserDataService {
        rpc UserData (empty) returns (Person);
    }

我需要读取grpc-server中的users.json文件,并使用protobuf将其发送到grpc-client,但不知道如何执行,以下代码不起作用:

type server struct{}

type User struct {
    Name     string `json:"name"`
    LastName string `json:"LastName"`
    Age      int    `json:"Age"`
    Email    string `json:"Email"`
}

type Person struct {
    Person []User `json:"users"`
}

func (*server) UserData(ctx context.Context, req *proto.Empty) (*proto.Person, error) {
    byteValue, _ := ioutil.ReadFile("users.json")
    var users Person

    json.Unmarshal(byteValue, &users)

    return &proto.Person{users}, nil

}

0 个答案:

没有答案