Categorygithub.com/jeffreyzj/jsonpart
repositorypackage
0.2.0
Repository: https://github.com/jeffreyzj/jsonpart.git
Documentation: pkg.go.dev

# README

jsonpart

Get partial json value in mix string, as json embedded in html. Code from fastjson.

    s := `<!DOCTYPE html>
          <html>
            <head>
          	  <title>test</title>
            </head>
            <body>
              <script>
                var Data = {
                  "test": {
                    "head": "show",
                    "value": 18,
                    "ctx": {
                      "service": "feekback",
                      "params": ["a", "b", "c"],
                      "log": true,
                      "num": 10
                    }
                  }
                };
              </script>
            </body>
          </html>`
    v, err := jsonpart.Parse(s, "ctx")
    if err != nil {
    	fmt.Print(err)
    	return
    }
	fmt.Println(v.MarshalString()) //output: {"service":"feekback","params":["a","b","c"],"log":true,"num":10}
	fmt.Println(v.GetString("service")) //output: feekback
	fmt.Println(v.GetString("params", "1")) //output: b
	fmt.Println(v.GetBool("log")) //output: true
	fmt.Println(v.GetInt("num")) //output: 10

Get full json value

    s := `{
            "test": {
              "head": "show",
              "value": 18,
              "ctx": {
                "service": "feekback",
                "params": ["a", "b", "c"],
                "log": true,
                "num": 10
              }
            }
          }`
    v, err := jsonpart.Parse(s)
    if err != nil {
    	fmt.Print(err)
    	return
    }
	fmt.Println(v.GetString("test", "head")) //output: show
	fmt.Println(v.GetString("test", "ctx", "params", "1")) //output: b
	fmt.Println(v.GetBool("test", "ctx", "log")) //output: true
	fmt.Println(v.GetInt("test", "value")) //output: 18