前端之家收集整理的这篇文章主要介绍了
检查字符串的简单方法是在golang中的json格式?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想创建一个
函数来接收一个可以是json格式的字符串或只是一个字符串的输入字符串.例如,像以下
功能一样容易.
func checkJson(input string){
if ... input is in json ... {
fmt.Println("it's json!")
} else {
fmt.Println("it's normal string!")
}
}
@H_
403_4@
我不清楚,如果你需要知道一个“引用的字符串”,或者如果你需要知道json,或者两者之间的区别,那么这就告诉你如何检测这两种情况,以便你可以非常具体.
我也在这里发布了交互式代码示例:http://play.golang.org/p/VmT0BVBJZ7
package main
import (
"encoding/json"
"fmt"
)
func isJSONString(s string) bool {
var js string
return json.Unmarshal([]byte(s),&js) == nil
}
func isJSON(s string) bool {
var js map[string]interface{}
return json.Unmarshal([]byte(s),&js) == nil
}
func main() {
var tests = []string{
`"Platypus"`,`Platypus`,`{"id":"1"}`,}
for _,t := range tests {
fmt.Printf("isJSONString(%s) = %v\n",t,isJSONString(t))
fmt.Printf("isJSON(%s) = %v\n\n",isJSON(t))
}
}
哪个会输出:
isJSONString("Platypus") = true
isJSON("Platypus") = false
isJSONString(Platypus) = false
isJSON(Platypus) = false
isJSONString({"id":"1"}) = false
isJSON({"id":"1"}) = true