Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在节点js中从json格式拆分字符串_Javascript_Node.js - Fatal编程技术网

Javascript 如何在节点js中从json格式拆分字符串

Javascript 如何在节点js中从json格式拆分字符串,javascript,node.js,Javascript,Node.js,我是Node.js的新手,这里是我的json格式数据示例。我想将它们拆分为json格式,并需要获取tid值。在node.js中,我尝试使用JSON.parse(数据),但出现了一个错误(因为[]符号)。 有没有一种简单的方法可以将它们拆分为json格式并获取tid值 [{"date":1535624757,"date_ms":1535624757427,"amount":90.389717,"price":0.00860497,"type":"buy","tid":251916659},{"da

我是Node.js的新手,这里是我的json格式数据示例。我想将它们拆分为json格式,并需要获取tid值。在node.js中,我尝试使用JSON.parse(数据),但出现了一个错误(因为[]符号)。 有没有一种简单的方法可以将它们拆分为json格式并获取tid值

[{"date":1535624757,"date_ms":1535624757427,"amount":90.389717,"price":0.00860497,"type":"buy","tid":251916659},{"date":1535624757,"date_ms":1535624757428,"amount":99.428689,"price":0.00860497,"type":"buy","tid":251916662},{"date":1535624757,"date_ms":1535624757469,"amount":384.65968,"price":0.00860497,"type":"buy","tid":251916663}]

由于JSON对象位于数组([]符号)中,因此必须通过数组中的索引引用JSON对象。像这样

const data = [{"date":1535624757,"date_ms":1535624757427,"amount":90.389717,"price":0.00860497,"type":"buy","tid":251916659},{"date":1535624757,"date_ms":1535624757428,"amount":99.428689,"price":0.00860497,"type":"buy","tid":251916662},{"date":1535624757,"date_ms":1535624757469,"amount":384.65968,"price":0.00860497,"type":"buy","tid":251916663}];

console.log(data[0]);

因为您发布的数组在JavaScript程序的上下文中不是JSON(尽管它是一个JSON),所以让我们假设
数据
是数组的值:

const data = [{
  "date":1535624757,
  "date_ms":1535624757427,
  "amount":90.389717,
  "price":0.00860497,
  "type":"buy",
  "tid":251916659
}, {
  "date":1535624757,
  "date_ms":1535624757428,
  "amount":99.428689,
  "price":0.00860497,
  "type":"buy",
  "tid":251916662
}, { 
  "date":1535624757,
  "date_ms":1535624757469,
  "amount":384.65968,
  "price":0.00860497,
  "type":"buy",
  "tid":251916663
}];
您可以这样拉出TID:

const tids = data.map(e => e.tid);
工业贸易署:

如果希望TID作为JSON字符串,可以使用:

jsonTids:

'[251916659,251916662,251916663]'

似乎您正在尝试使用Javascript对象,而不是包含JSON编码数据的字符串。考虑直接与对象一起工作。例如,您可以使用
For
循环迭代
数据的元素,如下所示:

const data=[{“日期”:1535624757,“日期”:1535624757427,“金额”:90.389717,“价格”:0.00860497,“类型”:“购买”,“工贸价格”:251916659},{“日期”:1535624757,“日期”:1535624757,“日期”:1535624757,“金额”:99.428689,“价格”:0.00860497,“类型”:“购买”,“工贸价格”:251916662},“日期”:1535624757469,“金额”:384.65968,“价格”:0.60497,“购买”,“工贸价格”:“类型”::251916663}];
对于(变量i=0;i}
JSON.parse
接受一个字符串变量,
[{“日期”:1535624757,“日期”:1535624757427,“金额”:90.389717,“价格”:0.00860497,“类型”:“购买”,“tid”:251916659},{“日期”:1535624757,“日期”:15356247572728,“金额”:99.428689,“价格”:0.00860497,“类型”:“购买”,“tid”:251916662},{“日期”:1535624757,“日期”:1535624757469,“金额”:384.65968,“价格”:0.00860497,“类型”:“购买”,“tid”:251916663}]
您使用的代码是对象变量

你可以用这个


var data=JSON.parse('[{“日期”:1535624757,“日期”:1535624757427,“金额”:90.389717,“价格”:0.00860497,“类型”:“购买”,“tid”:251916659},{“日期”:1535624757,“日期”:1535624757,“日期”:1535624757,“金额”:99.428689,“价格”:0.00860497,“类型”:“购买”,“tid”:251916662},{“日期”:1535624757469,“金额”:384.65968,“价格”:0.00860497“购买”::251916663}]')
console.log(数据)

JSON.parse对我来说非常好,使用代码抛出的数据。同样,几乎可以肯定的是,
JSON.parse
需要一个字符串,而不能向它提供JavaScript数据结构。请先运行您的代码,然后再将其作为答案发布。@JaredSmith对,您不必解析它。谢谢
const jsonTids = JSON.stringify(tids);
'[251916659,251916662,251916663]'