我不清楚您是否仅需要了解“引号字符串”,还是需要了解json或两者之间的区别,因此,这向您展示了如何检测这两种情况,因此您可以非常具体。
我也在这里发布了交互式代码示例:http :
//play.golang.org/p/VmT0BVBJZ7
package mainimport ( "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", t, isJSON(t)) }}将输出以下内容:
isJSonString("Platypus") = trueisJSON("Platypus") = falseisJSonString(Platypus) = falseisJSON(Platypus) = falseisJSonString({"id":"1"}) = falseisJSON({"id":"1"}) = true


