javascript - 如何检查json中的值是node js中的字符串还是数组

标签 javascript json node.js object

我在 Node js中有一个像这样的数组Json。

JSON 1

var json1= {
  bookmarkname: 'My Health Circles',
  bookmarkurl: 'http://localhost:3000/',
  bookmark_system_category: [ '22', '1' ]
}

JSON 2

var json2 = {
  bookmarkname: 'My Health Circles',
  bookmarkurl: 'http://localhost:3000/',
  bookmark_system_category:'22'
}

我尝试过:

var length1=json1.bookmark_system_category.length;

var length1=json2.bookmark_system_category.length;

预期输出:

l1=2;
l2=1;

最佳答案

length is property of string as well as array

在第二种情况下,它正在计算字符串的长度,即2

也许你需要一个条件:

var json1 = {
  bookmarkname: 'My Health Circles',
  bookmarkurl: 'http://localhost:3000/',
  bookmark_system_category: ['22', '1']
};
var json2 = {
  bookmarkname: 'My Health Circles',
  bookmarkurl: 'http://localhost:3000/',
  bookmark_system_category: '22'
};

var getLength = function(input) {
  if (typeof input === 'string') {
    return 'Is String';
  } else {
    return input.length;
  }
}

var length1 = getLength(json1.bookmark_system_category);
var length2 = getLength(json2.bookmark_system_category);
alert(length1);
alert(length2)

关于javascript - 如何检查json中的值是node js中的字符串还是数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35360538/

相关文章:

javascript - 当使用 Angular 2 进行 HTTP 调用失败并出现 404 错误时,如何构建占位符对象?

javascript - PHP - 多维数组到 Json

java - 如何获取纯 JSON 字符串而不是 HTML

javascript - SQLite 使用 JSON.stringify 插入表。用引号引起来的字符串中断

javascript - 从 C++ 回调函数发出 Node.js 事件

python - 使用 npm package/python 脚本将 .3ds 文件转换为 .obj/collada/gltf

javascript - Firefox 调试器从 if block 直接跳转到 else block

javascript - 克隆 <tr> 并在 JavaScript/jQuery 中修改克隆的内容

javascript - 将 Qualtrics 矩阵强制转换为 Accordion

node.js - Nodejs 私有(private)模块和 Docker 容器