检查字符串的简单方法是在golang中的json格式?

前端之家收集整理的这篇文章主要介绍了检查字符串的简单方法是在golang中的json格式?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想创建一个函数来接收一个可以是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) = %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

猜你在找的Go相关文章