28 Mart 2013, PERŞEMBE
İşleme JSON İstek mesaja Git
Ben aşağıda, hangi görünüyor inanılmaz hacky ve düşünüyordum kendimi o Gitmek ve daha iyi tasarlanmış kütüphaneler daha bu, ama bulamıyorum bir örnek işleme Gidip bir POST isteği JSON veri. Tüm form Mesajlar.
Aşağıda örnek bir istek: curl -X POST -d "{\"test\": \"that\"}" http://localhost:8082/test
Ve burada gömülü günlükleri ile kodu:
package main
import (
"encoding/json"
"log"
"net/http"
)
type test_struct struct {
Test string
}
func test(rw http.ResponseWriter, req *http.Request) {
req.ParseForm()
log.Println(req.Form)
//LOG: map[{"test": "that"}:[]]
var t test_struct
for key, _ := range req.Form {
log.Println(key)
//LOG: {"test": "that"}
err := json.Unmarshal([]byte(key), &t)
if err != nil {
log.Println(err.Error())
}
}
log.Println(t.Test)
//LOG: that
}
func main() {
http.HandleFunc("/test", test)
log.Fatal(http.ListenAndServe(":8082", nil))
}
Daha iyi bir yolu olmalı, değil mi? Sadece en iyi yöntem ne olabilir bulma konusunda kafam allak bullak oldu.
(Git Diğerleri bulabilmesi için de arama motorları için Golang, ve burada sözü olarak bilinir.)
CEVAP
28 Mart 2013, PERŞEMBE
json.Unmarshal
yerine json.Decoder
kullanın lütfen.
func test(rw http.ResponseWriter, req *http.Request) {
decoder := json.NewDecoder(req.Body)
var t test_struct
err := decoder.Decode(&t)
if err != nil {
panic()
}
log.Println(t.Test)
}
Bunu Paylaş:
Nasıl bir JSON nesnesi göndermek için ...
jQuery AJAX JSON yanıt, işleme AJAX so...
İşleme nesneleri bir Ajax çağrısından ...
PHP bir JSON işleme veri Nesnesi...
"Geçersiz JSON ilkel" Ajax i...