Go to file
Kailash Nadh 80ba70884c Tidy deps. 2022-06-09 23:34:46 +05:30
LICENSE First commit 2019-09-12 22:25:37 +05:30
README.md First commit 2019-09-12 22:25:37 +05:30
go.mod Tidy deps. 2022-06-09 23:34:46 +05:30
go.sum Tidy deps. 2022-06-09 23:34:46 +05:30
querytostruct.go First commit 2019-09-12 22:25:37 +05:30
querytostruct_test.go First commit 2019-09-12 22:25:37 +05:30

README.md

querytostruct

An extremely tiny utility for unmarshalling and scanning querystrings into structs. It supports scanning into int*, float*, string, and []byte types, along with []int*, []float*, and []*string slices

Install

go get -u github.com/knadh/querytostruct

Usage

package main

import (
	"fmt"
	"net/url"

	"github.com/knadh/querytostruct"
)

func main() {
	qs := "name=John+Doe&yes=true&count=42&tag=x&tag=y"
	q, _ := url.ParseQuery(qs)

	type test struct {
		Name  string   `q:"name"`
		Yes   bool     `q:"yes"`
		Count int      `q:"count"`
		Tags  []string `q:"tag"`
	}

	var t test
	fields, err := querytostruct.Unmarshal(q, &t, "q")
	fmt.Println("fields=", fields, "error=", err)
	fmt.Println(t)
}

Licensed under the MIT License.