私は言語になるための新しい蜂です。ここでr.Bodyから個々のキーの値をgo言語で抽出する方法
は私の行く機能コードです:
func data(w http.ResponseWriter, r * http.Request) {
w.Header().Set("Content-Type", "application/x-www-form-urlencoded")
r.ParseForm()
fmt.Println("r.PostForm", r.PostForm)
fmt.Println("r.Form", r.Form)
fmt.Println("r.Form value\n", r.FormValue("password"))
x := r.Form.Get("password")
fmt.Println(x)
}
出力は次のとおりです。
[{ "Target":{"name":"l","password":"l","port":"1234"},
"Import":[{"table_name":"l",row_name:"l"}] }]
r.Form
を介してデータを取得し、この中
、ioutil.ReadAll(r.Body)
、およびr.PostForm
、私は上記の出力を得ることが、ときに私r.form.Get(key)
(現在はパスワードを使用しています)とr.FormValue(key)
で試してみてください。出力はありません。それは空白です。なぜこれらの2つは空白ですか?
r.Form.Get("Target")
のような名前でターゲットとインポートの値を取得したいとします。それを行う方法はありますか?
また、私はioutil.ReadAll(r.Body)
を使用したくありません。これらのフィールドの値は、それぞれの名前を使用してr.Body
から個別に取得したいと考えています。
あなたはそれを取得する必要があります。たぶん、あなたは 'Content-Type:application/x-www-form-urlencoded'でデータを投稿しないでしょう。 – mattn
投稿した出力が上記のコードと一致しません。コードで印刷したすべての静的な文字列はどこにありますか? – TehSphinX