代码拉取完成,页面将自动刷新
package gjson
import (
"gitee.com/micro-tools/wf/encoding/gini"
"gitee.com/micro-tools/wf/encoding/gtoml"
"gitee.com/micro-tools/wf/encoding/gxml"
"gitee.com/micro-tools/wf/encoding/gyaml"
"gitee.com/micro-tools/wf/internal/json"
"gitee.com/micro-tools/wf/util/gconv"
)
// ========================================================================
// JSON
// ========================================================================
func (j *Json) ToJson() ([]byte, error) {
j.mu.RLock()
defer j.mu.RUnlock()
return Encode(*(j.p))
}
func (j *Json) ToJsonString() (string, error) {
b, e := j.ToJson()
return string(b), e
}
func (j *Json) ToJsonIndent() ([]byte, error) {
j.mu.RLock()
defer j.mu.RUnlock()
return json.MarshalIndent(*(j.p), "", "\t")
}
func (j *Json) ToJsonIndentString() (string, error) {
b, e := j.ToJsonIndent()
return string(b), e
}
func (j *Json) MustToJson() []byte {
result, err := j.ToJson()
if err != nil {
panic(err)
}
return result
}
func (j *Json) MustToJsonString() string {
return gconv.UnsafeBytesToStr(j.MustToJson())
}
func (j *Json) MustToJsonIndent() []byte {
result, err := j.ToJsonIndent()
if err != nil {
panic(err)
}
return result
}
func (j *Json) MustToJsonIndentString() string {
return gconv.UnsafeBytesToStr(j.MustToJsonIndent())
}
// ========================================================================
// XML
// ========================================================================
func (j *Json) ToXml(rootTag ...string) ([]byte, error) {
return gxml.Encode(j.ToMap(), rootTag...)
}
func (j *Json) ToXmlString(rootTag ...string) (string, error) {
b, e := j.ToXml(rootTag...)
return string(b), e
}
func (j *Json) ToXmlIndent(rootTag ...string) ([]byte, error) {
return gxml.EncodeWithIndent(j.ToMap(), rootTag...)
}
func (j *Json) ToXmlIndentString(rootTag ...string) (string, error) {
b, e := j.ToXmlIndent(rootTag...)
return string(b), e
}
func (j *Json) MustToXml(rootTag ...string) []byte {
result, err := j.ToXml(rootTag...)
if err != nil {
panic(err)
}
return result
}
func (j *Json) MustToXmlString(rootTag ...string) string {
return gconv.UnsafeBytesToStr(j.MustToXml(rootTag...))
}
func (j *Json) MustToXmlIndent(rootTag ...string) []byte {
result, err := j.ToXmlIndent(rootTag...)
if err != nil {
panic(err)
}
return result
}
func (j *Json) MustToXmlIndentString(rootTag ...string) string {
return gconv.UnsafeBytesToStr(j.MustToXmlIndent(rootTag...))
}
// ========================================================================
// YAML
// ========================================================================
func (j *Json) ToYaml() ([]byte, error) {
j.mu.RLock()
defer j.mu.RUnlock()
return gyaml.Encode(*(j.p))
}
func (j *Json) ToYamlString() (string, error) {
b, e := j.ToYaml()
return string(b), e
}
func (j *Json) MustToYaml() []byte {
result, err := j.ToYaml()
if err != nil {
panic(err)
}
return result
}
func (j *Json) MustToYamlString() string {
return gconv.UnsafeBytesToStr(j.MustToYaml())
}
// ========================================================================
// TOML
// ========================================================================
func (j *Json) ToToml() ([]byte, error) {
j.mu.RLock()
defer j.mu.RUnlock()
return gtoml.Encode(*(j.p))
}
func (j *Json) ToTomlString() (string, error) {
b, e := j.ToToml()
return string(b), e
}
func (j *Json) MustToToml() []byte {
result, err := j.ToToml()
if err != nil {
panic(err)
}
return result
}
func (j *Json) MustToTomlString() string {
return gconv.UnsafeBytesToStr(j.MustToToml())
}
// ========================================================================
// INI
// ========================================================================
func (j *Json) ToIni() ([]byte, error) {
j.mu.RLock()
defer j.mu.RUnlock()
return gini.Encode((*(j.p)).(map[string]interface{}))
}
func (j *Json) ToIniString() (string, error) {
b, e := j.ToToml()
return string(b), e
}
func (j *Json) MustToIni() []byte {
result, err := j.ToIni()
if err != nil {
panic(err)
}
return result
}
func (j *Json) MustToIniString() string {
return gconv.UnsafeBytesToStr(j.MustToIni())
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。