检查字符串的简单方法是在golang中的json格式?
发布时间:2020-12-16 19:29:22 所属栏目:大数据 来源:网络整理
导读:我想创建一个函数来接收一个可以是json格式的字符串或只是一个字符串的输入字符串.例如,像以下功能一样容易. func checkJson(input string){ if ... input is in json ... { fmt.Println("it's json!") } else { fmt.Println("it's normal string!") }} 我不
我想创建一个函数来接收一个可以是json格式的字符串或只是一个字符串的输入字符串.例如,像以下功能一样容易.
func checkJson(input string){ if ... input is in json ... { fmt.Println("it's json!") } else { fmt.Println("it's normal string!") } }
我不清楚,如果你需要知道一个“引用的字符串”,或者如果你需要知道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) = %vn",t,isJSONString(t)) fmt.Printf("isJSON(%s) = %vnn",isJSON(t)) } } 哪个会输出: isJSONString("Platypus") = true isJSON("Platypus") = false isJSONString(Platypus) = false isJSON(Platypus) = false isJSONString({"id":"1"}) = false isJSON({"id":"1"}) = true (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |