相关文章推荐
满身肌肉的充值卡  ·  python基础—re模块下的函数及匹配对象 ...·  1 月前    · 
英姿勃勃的莲藕  ·  python在文件指定位置插入字符串_pyt ...·  1 月前    · 
傻傻的馒头  ·  STRING_SPLIT ...·  1 月前    · 
坚韧的啤酒  ·  表达式和函数 - Azure Data ...·  1 月前    · 
睿智的墨镜  ·  php文件路径通配符,php字符串匹配通配符*?·  1 周前    · 
微笑的花生  ·  IIS、NCSA、W3C日志文件的区别-腾讯 ...·  1 年前    · 
飘逸的鞭炮  ·  如果计算机在任务时关闭,则重新启动时可能无法 ...·  1 年前    · 
潇洒的弓箭  ·  安装kubernetes的几种方法 - 知乎·  2 年前    · 
爽快的石榴  ·  用户对问题“UWP硬件视频解码- ...·  2 年前    · 
追风的机器猫  ·  Appium报错NoSuchDriverEx ...·  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()...等)
1 月前
英姿勃勃的莲藕  ·  python在文件指定位置插入字符串_python在文件指定位置写入字符串
1 月前
傻傻的馒头  ·  STRING_SPLIT (Transact-SQL) - SQL Server | Microsoft Learn
1 月前
坚韧的啤酒  ·  表达式和函数 - Azure Data Factory & Azure Synapse | Microsoft Learn
1 月前
睿智的墨镜  ·  php文件路径通配符,php字符串匹配通配符*?
1 周前
微笑的花生  ·  IIS、NCSA、W3C日志文件的区别-腾讯云开发者社区-腾讯云
1 年前
飘逸的鞭炮  ·  如果计算机在任务时关闭,则重新启动时可能无法运行计划的任务 - Windows Server | Microsoft Learn
1 年前
潇洒的弓箭  ·  安装kubernetes的几种方法 - 知乎
2 年前
爽快的石榴  ·  用户对问题“UWP硬件视频解码- DirectX12 vs媒体基础”的回答 - 问答 - 腾讯云开发者社区-腾讯云
2 年前
追风的机器猫  ·  Appium报错NoSuchDriverException解决方法_wuyuwudiwu的博客-CSDN博客
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号