• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Golang json.HTMLEscape函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Golang中encoding/json.HTMLEscape函数的典型用法代码示例。如果您正苦于以下问题:Golang HTMLEscape函数的具体用法?Golang HTMLEscape怎么用?Golang HTMLEscape使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了HTMLEscape函数的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。

示例1: main

func main() {
	src, _ := json.Marshal(&Message{"annnnn", "extt<tt>"})
	var b bytes.Buffer
	//json.Compact(&b, src)
	json.HTMLEscape(&b, src)
	b.WriteTo(os.Stdout)
}
开发者ID:hyndio,项目名称:hyd.me,代码行数:7,代码来源:jtest.go


示例2: ServeHTTP

// ServeHTTP shows the current plans in the query cache.
func (plr *Planner) ServeHTTP(response http.ResponseWriter, request *http.Request) {
	if err := acl.CheckAccessHTTP(request, acl.DEBUGGING); err != nil {
		acl.SendError(response, err)
		return
	}
	if request.URL.Path == "/debug/query_plans" {
		keys := plr.plans.Keys()
		response.Header().Set("Content-Type", "text/plain")
		response.Write([]byte(fmt.Sprintf("Length: %d\n", len(keys))))
		for _, v := range keys {
			response.Write([]byte(fmt.Sprintf("%#v\n", v)))
			if plan, ok := plr.plans.Peek(v); ok {
				if b, err := json.MarshalIndent(plan, "", "  "); err != nil {
					response.Write([]byte(err.Error()))
				} else {
					response.Write(b)
				}
				response.Write(([]byte)("\n\n"))
			}
		}
	} else if request.URL.Path == "/debug/vschema" {
		response.Header().Set("Content-Type", "application/json; charset=utf-8")
		b, err := json.MarshalIndent(plr.VSchema().Keyspaces, "", " ")
		if err != nil {
			response.Write([]byte(err.Error()))
			return
		}
		buf := bytes.NewBuffer(nil)
		json.HTMLEscape(buf, b)
		response.Write(buf.Bytes())
	} else {
		response.WriteHeader(http.StatusNotFound)
	}
}
开发者ID:dumbunny,项目名称:vitess,代码行数:35,代码来源:planner.go


示例3: thJsonify

func thJsonify(v interface{}) html.JS {
	bs, err := json.Marshal(v)
	assert(err)

	buf := new(bytes.Buffer)
	json.HTMLEscape(buf, bs)
	return html.JS(buf.String())
}
开发者ID:BurntSushi,项目名称:lcmweb,代码行数:8,代码来源:template_helpers.go


示例4: TestHTMLEscape

func TestHTMLEscape(t *testing.T) {
	var b, want bytes.Buffer
	m := `{"M":"<html>foo &` + "\xe2\x80\xa8 \xe2\x80\xa9" + `</html>"}`
	want.Write([]byte(`{"M":"\u003chtml\u003efoo \u0026\u2028 \u2029\u003c/html\u003e"}`))
	json.HTMLEscape(&b, []byte(m))
	if !bytes.Equal(b.Bytes(), want.Bytes()) {
		t.Errorf("HTMLEscape(&b, []byte(m)) = %s; want %s", b.Bytes(), want.Bytes())
	}
}
开发者ID:nolenroyalty,项目名称:bangarang,代码行数:9,代码来源:encode_test.go


示例5: WriteStr

func (w *JsonWriter) WriteStr(name, val string) *JsonWriter {
	w.checkSeperator()
	val = strings.Replace(val, "\"", "\\\"", -1)
	w.writeIdent(name)
	w.buffer.WriteByte('"')
	json.HTMLEscape(&w.buffer, []byte(val))
	w.buffer.WriteByte('"')
	return w
}
开发者ID:boombuler,项目名称:tron2go,代码行数:9,代码来源:jsonwriter.go


示例6: main

func main() {
	dst := new(bytes.Buffer)
	src := []byte(`{
		"Name":"tony.shao",
		"Age":25,
		"Job":"Programmer<Escaping>"
		}`)
	json.HTMLEscape(dst, src)
	fmt.Println(dst)
}
开发者ID:novakr,项目名称:gopkg,代码行数:10,代码来源:TestHTMLEscape.go


示例7: NewEncoder

func NewEncoder(opts ...Options) martini.Handler {
	return func(c martini.Context, w http.ResponseWriter) {
		wrappedWriter := newWrappedResponseWriter(w)
		c.MapTo(wrappedWriter, (*http.ResponseWriter)(nil))
		c.MapTo(encoder.JsonEncoder{PrettyPrint: true}, (*encoder.Encoder)(nil))

		var rtnHandler martini.ReturnHandler
		rtnHandler = func(ctx martini.Context, vals []reflect.Value) {
			rv := ctx.Get(inject.InterfaceOf((*http.ResponseWriter)(nil)))
			res := rv.Interface().(http.ResponseWriter)
			var responseVal reflect.Value
			if len(vals) > 1 && vals[0].Kind() == reflect.Int {
				res.WriteHeader(int(vals[0].Int()))
				responseVal = vals[1]
			} else if len(vals) > 0 {
				responseVal = vals[0]
			}
			if isNil(responseVal) {
				wrappedRes := res.(*wrappedResponseWriter)
				code := wrappedRes.statusCode
				if code == 0 {
					panic(errors.New("No return code set for error"))
				}
				responseVal = reflect.ValueOf(errorResponse{Error: code, Message: http.StatusText(code)})
			}
			if canDeref(responseVal) {
				responseVal = responseVal.Elem()
			}
			if isByteSlice(responseVal) {
				res.Write(responseVal.Bytes())
			} else if isStruct(responseVal) || isStructSlice(responseVal) {
				encv := ctx.Get(inject.InterfaceOf((*encoder.Encoder)(nil)))
				enc := encv.Interface().(encoder.Encoder)
				res.Header().Set("Content-Type", "application/json; charset=utf-8")
				buf := bytes.NewBuffer(encoder.Must(enc.Encode(responseVal.Interface())))
				if len(opts) > 0 {
					if opts[0].Html {
						val := buf.Bytes()
						buf.Reset()
						json.HTMLEscape(buf, val)
					}
					if opts[0].Indent {
						val := buf.Bytes()
						buf.Reset()
						json.Indent(buf, val, "", "\t")
					}
				}
				res.Write(buf.Bytes())
			} else {
				res.Write([]byte(responseVal.String()))
			}
		}
		c.Map(rtnHandler)
	}
}
开发者ID:jsimnz,项目名称:martini-contrib,代码行数:55,代码来源:response.go


示例8: handleHTTPQueryRules

func (si *SchemaInfo) handleHTTPQueryRules(response http.ResponseWriter, request *http.Request) {
	response.Header().Set("Content-Type", "application/json; charset=utf-8")
	b, err := json.MarshalIndent(si.queryRuleSources, "", " ")
	if err != nil {
		response.Write([]byte(err.Error()))
		return
	}
	buf := bytes.NewBuffer(nil)
	json.HTMLEscape(buf, b)
	response.Write(buf.Bytes())
}
开发者ID:dumbunny,项目名称:vitess,代码行数:11,代码来源:schema_info.go


示例9: WriteJSON

// WriteJSON is specified on the Context interface.
func (ctx *context) WriteJSON(data interface{}, html bool) {
	body, err := json.Marshal(data)
	if err != nil {
		http.Error(ctx.responseWriter, err.Error(), http.StatusInternalServerError)
	}
	if html {
		var buf bytes.Buffer
		json.HTMLEscape(&buf, body)
		body = buf.Bytes()
	}
	ctx.responseWriter.Header().Set("Content-Type", ContentTypeJSON)
	ctx.responseWriter.Write(body)
}
开发者ID:kung-foo,项目名称:golib,代码行数:14,代码来源:context.go


示例10: MarshalJSON

// MarshalJSON implements the json.Marshaler interface.
func (n *NullString) MarshalJSON() ([]byte, error) {
	if !n.Valid {
		return nullString, nil
	}
	body, err := json.Marshal(n.String)
	if err != nil {
		return nil, err
	}
	if escapeHTML {
		var buf bytes.Buffer
		json.HTMLEscape(&buf, body)
		return buf.Bytes(), nil
	} else {
		return body, nil
	}
}
开发者ID:najeira,项目名称:sql,代码行数:17,代码来源:values.go


示例11: JsonMarshal

func JsonMarshal(th InterpreterThread, obj RObject, includePrivate bool) (encoded string, err error) {
	visited := make(map[RObject]bool)
	tree, err := obj.ToMapListTree(th, includePrivate, visited)
	if err != nil {
		return
	}
	b, err := json.Marshal(tree)
	if err != nil {
		return
	}
	var buf bytes.Buffer
	json.HTMLEscape(&buf, b)
	encoded = buf.String()

	return
}
开发者ID:eric-hawthorne,项目名称:relish,代码行数:16,代码来源:transcoder_json.go


示例12: main

func main() {
	pa := &Address{"private", "Aartselaar", "Belgium"}
	wa := &Address{"work", "Boom", "Belgium"}
	vc := VCard{"Jan", "Kersschot", []*Address{pa, wa}, "none"}
	fmt.Printf("%v: \n", vc)
	// {Jan Kersschot [0x126d2b80 0x126d2be0] none // JSON format:
	js, _ := json.Marshal(vc)
	jsEscaped := new(bytes.Buffer)
	json.HTMLEscape(jsEscaped, js) //fa escape di caratter per essere messo nei tag <script>
	fmt.Printf("JSON format: %s\n", js)

	file, err := os.OpenFile("vcard.json", os.O_CREATE|os.O_WRONLY, 0)
	if err != nil {
		log.Fatal(err)
	}
	defer file.Close()

	enc := json.NewEncoder(file)
	errE := enc.Encode(vc)
	if errE != nil {
		log.Fatal(errE)
	}
}
开发者ID:enricodangelo,项目名称:exercises-in-style,代码行数:23,代码来源:json.go


示例13: Value

func (self *Builder) Value(value interface{}) *Builder {
	if value == nil {
		self.buffer.WriteString("null")
	} else if writer, ok := value.(Writer); ok {
		writer.WriteJSON(self)
	} else {
		v := reflect.ValueOf(value)
		switch v.Kind() {
		case reflect.String:
			self.buffer.WriteByte('"')
			json.HTMLEscape(&self.buffer, []byte(v.String()))
			self.buffer.WriteByte('"')

		case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
			self.buffer.WriteString(strconv.FormatInt(v.Int(), 10))

		case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64:
			self.buffer.WriteString(strconv.FormatUint(v.Uint(), 10))

		case reflect.Float32, reflect.Float64:
			self.buffer.WriteString(strconv.FormatFloat(v.Float(), 'f', -1, 64))

		case reflect.Bool:
			if v.Bool() {
				self.buffer.WriteString("true")
			} else {
				self.buffer.WriteString("false")
			}

		default:
			panic("Type not supported as JSON value")
		}
	}
	self.buffer.WriteByte(',')
	self.afterName = false
	return self
}
开发者ID:ungerik,项目名称:go-json-tree,代码行数:37,代码来源:builder.go


示例14: ServeHTTP

func (si *SchemaInfo) ServeHTTP(response http.ResponseWriter, request *http.Request) {
	if request.URL.Path == "/debug/query_plans" {
		keys := si.queries.Keys()
		response.Header().Set("Content-Type", "text/plain")
		response.Write([]byte(fmt.Sprintf("Length: %d\n", len(keys))))
		for _, v := range keys {
			response.Write([]byte(fmt.Sprintf("%#v\n", v)))
			if plan := si.getQuery(v); plan != nil {
				if b, err := json.MarshalIndent(plan.ExecPlan, "", "  "); err != nil {
					response.Write([]byte(err.Error()))
				} else {
					response.Write(b)
				}
				response.Write(([]byte)("\n\n"))
			}
		}
	} else if request.URL.Path == "/debug/query_stats" {
		keys := si.queries.Keys()
		response.Header().Set("Content-Type", "application/json; charset=utf-8")
		qstats := make([]perQueryStats, 0, len(keys))
		for _, v := range keys {
			if plan := si.getQuery(v); plan != nil {
				var pqstats perQueryStats
				pqstats.Query = unicoded(plan.DisplayQuery)
				pqstats.Table = plan.TableName
				pqstats.Plan = plan.PlanId
				pqstats.QueryCount, pqstats.Time, pqstats.RowCount, pqstats.ErrorCount = plan.Stats()
				qstats = append(qstats, pqstats)
			}
		}
		if b, err := json.MarshalIndent(qstats, "", "  "); err != nil {
			response.Write([]byte(err.Error()))
		} else {
			response.Write(b)
		}
	} else if request.URL.Path == "/debug/table_stats" {
		response.Header().Set("Content-Type", "application/json; charset=utf-8")
		si.mu.Lock()
		tstats := make(map[string]struct{ hits, absent, misses, invalidations int64 })
		var temp, totals struct{ hits, absent, misses, invalidations int64 }
		for k, v := range si.tables {
			if v.CacheType != schema.CACHE_NONE {
				temp.hits, temp.absent, temp.misses, temp.invalidations = v.Stats()
				tstats[k] = temp
				totals.hits += temp.hits
				totals.absent += temp.absent
				totals.misses += temp.misses
				totals.invalidations += temp.invalidations
			}
		}
		si.mu.Unlock()
		response.Write([]byte("{\n"))
		for k, v := range tstats {
			fmt.Fprintf(response, "\"%s\": {\"Hits\": %v, \"Absent\": %v, \"Misses\": %v, \"Invalidations\": %v},\n", k, v.hits, v.absent, v.misses, v.invalidations)
		}
		fmt.Fprintf(response, "\"Totals\": {\"Hits\": %v, \"Absent\": %v, \"Misses\": %v, \"Invalidations\": %v}\n", totals.hits, totals.absent, totals.misses, totals.invalidations)
		response.Write([]byte("}\n"))
	} else if request.URL.Path == "/debug/schema" {
		response.Header().Set("Content-Type", "application/json; charset=utf-8")
		tables := si.GetSchema()
		b, err := json.MarshalIndent(tables, "", " ")
		if err != nil {
			response.Write([]byte(err.Error()))
			return
		}
		buf := bytes.NewBuffer(nil)
		json.HTMLEscape(buf, b)
		response.Write(buf.Bytes())
	} else {
		response.WriteHeader(http.StatusNotFound)
	}
}
开发者ID:qman1989,项目名称:vitess,代码行数:72,代码来源:schema_info.go



注:本文中的encoding/json.HTMLEscape函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Golang json.Indent函数代码示例发布时间:2022-05-24
下一篇:
Golang json.Get函数代码示例发布时间:2022-05-24
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap