相关文章推荐
满身肌肉的充值卡  ·  python基础—re模块下的函数及匹配对象 ...·  2 月前    · 
英姿勃勃的莲藕  ·  python在文件指定位置插入字符串_pyt ...·  1 月前    · 
傻傻的馒头  ·  STRING_SPLIT ...·  1 月前    · 
坚韧的啤酒  ·  表达式和函数 - Azure Data ...·  1 月前    · 
睿智的墨镜  ·  php文件路径通配符,php字符串匹配通配符*?·  3 周前    · 
刚毅的硬币  ·  Day 31 - 使用 Amazon ...·  1 年前    · 
无邪的柑橘  ·  细菌显示文库的半自动化筛选肽亲和试剂的发现与 ...·  1 年前    · 
要出家的米饭  ·  深入理解Transformer及其源码 - ...·  2 年前    · 
单身的菠萝  ·  numpy如何获取array中数组元素的索引 ...·  2 年前    · 
逃跑的甘蔗  ·  sql server如何获取到表的ddl ...·  2 年前    · 
Code  ›  如何测试字符串是否为JSON?开发者社区
科技新闻 javascript 字符串函数
https://cloud.tencent.com/developer/ask/sof/48532
正直的酸菜鱼
1 年前
首页
学习
活动
专区
工具
TVP 最新优惠活动
返回腾讯云官网
提问

问 如何测试字符串是否为JSON?

Stack Overflow用户
提问于 2012-03-21 20:38:58
EN

我有一个简单的AJAX调用,服务器将返回一个包含有用数据的JSON字符串,或者返回一个由PHP函数 mysql_error() 生成的错误消息字符串。如何测试此数据是JSON字符串还是错误消息。

使用一个名为 isJSON 的函数会很好,就像您可以使用函数 instanceof 来测试某个东西是否是一个数组一样。

这就是我想要的:

代码语言: javascript
复制
if (isJSON(data)){
    //do some data stuff
}else{
    //report the error
    alert(data);
}
17 311.1K 0 票数 249
EN
mysql
json
javascript

回答 17

Stack Overflow用户

回答已采纳

发布于 2012-03-21 20:42:27

使用JSON.parse

代码语言: javascript
复制
function isJson(str) {
    try {
        JSON.parse(str);
    } catch (e) {
        return false;
    return true;
}
票数 410
EN

Stack Overflow用户

发布于 2015-10-27 21:56:03

此代码为 JSON.parse(1234) 、 JSON.parse(0) 、 JSON.parse(false) 或 JSON.parse(null) ,所有这些都将返回true。

代码语言: javascript
复制
function isJson(str) {
    try {
        JSON.parse(str);
    } catch (e) {
        return false;
    return true;
}

所以我用这种方式重写了代码:

代码语言: javascript
复制
function isJson(item) {
    item = typeof item !== "string"
        ? JSON.stringify(item)
        : item;
    try {
        item = JSON.parse(item);
    } catch (e) {
        return false;
 
推荐文章
满身肌肉的充值卡  ·  python基础—re模块下的函数及匹配对象的属性与方法(re.match()/re.search()...等)
2 月前
英姿勃勃的莲藕  ·  python在文件指定位置插入字符串_python在文件指定位置写入字符串
1 月前
傻傻的馒头  ·  STRING_SPLIT (Transact-SQL) - SQL Server | Microsoft Learn
1 月前
坚韧的啤酒  ·  表达式和函数 - Azure Data Factory & Azure Synapse | Microsoft Learn
1 月前
睿智的墨镜  ·  php文件路径通配符,php字符串匹配通配符*?
3 周前
刚毅的硬币  ·  Day 31 - 使用 Amazon API Gateway 上傳圖片到 S3 - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天
1 年前
无邪的柑橘  ·  细菌显示文库的半自动化筛选肽亲和试剂的发现与分离结果分析 (文章) | JoVE
1 年前
要出家的米饭  ·  深入理解Transformer及其源码 - ZingpLiu - 博客园
2 年前
单身的菠萝  ·  numpy如何获取array中数组元素的索引位置_python_脚本之家
2 年前
逃跑的甘蔗  ·  sql server如何获取到表的ddl - 墨天轮问答
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号