【问题标题】:Converting an object/array into JSON?将对象/数组转换为 JSON?
【发布时间】:2012-06-19 08:17:04
【问题描述】:

我有一个数组(它也可能是一个对象,我不知道我在说什么):

grid.columns[0].text
grid.columns[1].text
grid.columns[2].text

等等。我想把它转换成 JSON。我试过使用JSON.stringify(grid.columns.text),但没有用:它给了null

【问题讨论】:

  • 你想把什么转换成 JSON? grid 对象还是 grid.columns 数组?
  • 您有一个数组 (grid.columns),其 elements 具有 .text 属性,而您正试图对数组本身的 .text 属性进行字符串化。目前尚不清楚您要做什么,因此我无法建议如何修复您的代码。
  • @JamesAllardice,网格列标题名称grid 对象非常大。 grid.columns 数组。
  • 正如 James Allardice 所说,您是否尝试转换 grid.columns?即:JSON.stringify(grid.columns);
  • @Angel,当我浏览console.log(grid.columns) 时,我看到grid.columns 非常非常大。

标签: javascript json extjs4.1


【解决方案1】:

试试

JSON.stringify(grid.columns.map(function(item) {
    return item.text;
}));
// ["value of text 0", "value of text 1",...]

或者

JSON.stringify(grid.columns.map(function(item) {
    return {text:item.text};
}));
// [{"text":"value of text 0"},{"text":"value of text 1"},..]

【讨论】:

    【解决方案2】:

    根据您提供的结构,使用JSON.stringify(grid.columns.text) 是行不通的:

    请尝试以下方法:

    JSON.stringify(grid.columns);
    

    这应该产生类似:

    [
      {"text": "value"},
      {"text": "value2"},
      {"text": "value3"},
      ...
    ]
    

    【讨论】:

      猜你喜欢
      • 2012-07-21
      • 2020-10-02
      • 1970-01-01
      • 1970-01-01
      • 2018-09-12
      • 2015-10-30
      • 1970-01-01
      相关资源
      最近更新 更多