使用javascript或jquery将Array对象转换为JSON

时间:2016-09-01 13:56:04

标签: javascript jquery arrays json object

我有动态数据进入我的网站:

[{
  "itemOne": { 
     "url": "www",
     "name": "Bob" 
  },
  "itemTwo": {
     "url": "www",
     "name": "fred"
  }
}]

使用jQuery或Javascript,我想把这些数据变成JSON,所以它的结构如下:

"products": {
    "itemOne": {
       "url": pageUrl,
       "name": productName
    },
    "itemTwo": {
       "url": pageUrl,
       "name": productName,
    }
}

这可能吗?如果是这样,我该怎么做呢?

2 个答案:

答案 0 :(得分:2)

要实现此目的,您可以从数组中获取第一个对象,并将其设置为新对象的product属性的值。如果需要将此对象转换为JSON,请在结果上调用JSON.stringify。试试这个:

var arr = [{
  "itemOne": {
    "url": "www",
    "name": "Bob"
  },
  "itemTwo": {
    "url": "www",
    "name": "fred"
  }
}]

var obj = {
  products: arr[0]
}

var json = JSON.stringify(obj);
console.log(json);

答案 1 :(得分:0)

你的术语很混乱。 JSON是一种基于文本,人类可读,安全中立的数据交换格式。您的第一个代码段 JSON。

如果您想将第一个代码段转换为JavaScript可以使用的内容,那么......

var products = JSON.parse(data);
/* 'products' = an array of Objects */

如果您想在使用它之后将'产品'重新转换为JSON,那么......

var json_string = JSON.stringify(products, null, 4);
/* 'json_string' is now a 
   JSON-compatible text version 
   of 'products' with indentation 
   of 4-spaces */

请参阅:JSON @ MDNwww.json.org