Javascript 使用fetch向Golang服务器发送post请求

Javascript 使用fetch向Golang服务器发送post请求,javascript,api,go,fetch,Javascript,Api,Go,Fetch,我正在使用gorilla/mux的golang服务器和来自“github.com/graarh/golang socketio”的WebSocket服务器,我正在以JSON的形式将数据发送到golang服务器,我想在那里将其解析为结构,但它没有解析数据,请单击获取 下面是用于调用服务器的javascript代码 document.getElementById("form").addEventListener("submit", (e) => { e.preventDefau

我正在使用gorilla/mux的golang服务器和来自“github.com/graarh/golang socketio”的WebSocket服务器,我正在以JSON的形式将数据发送到golang服务器,我想在那里将其解析为结构,但它没有解析数据,请单击获取

下面是用于调用服务器的javascript代码

document.getElementById("form").addEventListener("submit", (e) => {
        e.preventDefault();
        console.log("form submitetd");
        let file = document.getElementById("fileInput").files[0];
        let fr = new FileReader();
        fr.onload = function () {
          postData(fr.result.toString());
        };

        fr.readAsText(file);
      });

      function postData(fileString) {
        let Body = {};
        Body.key = fileString;
        Body.to = document.getElementById("to").value;
        Body.from = document.getElementById("from").value;
        Body.amount = document.getElementById("amount").value;
        console.log(Body);

        fetch("/transaction", {
          method: "POST",
          headers: {
            "Content-Type": "application/json",
          },

          body: JSON.stringify(Body),
        }).then((resp) => {
          console.log(resp);
        });
      }

txData
struct字段未导出意味着它们在包外部不可见,因为它们以小写字母开头。所以
encoding/json
包无法访问它们。将字段的第一个字母大写以将其导出

type txData struct {
    To    string
    From  string
    Value int
    Key   string
}

参考Golang规范

我尝试将其大写为TxData,但它仍然给出一个空输出:响应体:&{0xc00008a300[]{0 0{false[]0}{[]}false false 0}0 0{false[]0}}{to:from:value:0键:}不大写
TxData
capitalize它是一个类似
to
->toto的字段
type txData struct {
    To    string
    From  string
    Value int
    Key   string
}