加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

检查字符串的简单方法是在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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读