【问题标题】:Remove String from JSON从 JSON 中删除字符串
【发布时间】:2014-03-13 11:34:50
【问题描述】:

我想为 dijit.form.Select (Dojo Select-Box) 提供数据存储 (JsonRest)。问题是,JSON-Parser 只接受这种格式的 JSON:

[
  {id:"1", name:"One1"},
  {id:"2", name:"Two1"}
];

我们要调用的 Web 应用程序的 REST-API 提供以下 JSON:

{
  "data": [
      {id:"1", name:"One1"},
      {id:"2", name:"Two1"}
],
    "total": 2,
    "start": 0,
    "sort": "name",
    "order": "asc",
     "size": 2
};

这就是选择框不显示任何数据的原因。因此,在将 JSON 消息传递给 Dojo 选择框之前,我们需要删除 {"data": 部分和最后一部分。

数据存储在 JsonRest 对象中。所以问题是我们如何删除 JSON 的第一部分和最后一部分,以将这里简单地提供给选择框:

[
  {id:"1", name:"One1"},
  {id:"2", name:"Two1"}
];

感谢您的回答和问候 本

【问题讨论】:

    标签: javascript json rest dojo dijit.form


    【解决方案1】:

    从数据中为 dojo 选择创建一个新的 Array 变量似乎最简单...

    var restapidataObj = {
      "data": [
          {id:"1", name:"One1"},
          {id:"2", name:"Two1"}
        ],
        "total": 2,
        "start": 0,
        "sort": "name",
        "order": "asc",
         "size": 2
    };
    
    var dojoSelectArray = restapidataObj.data;
    

    现在将dojoSelectArray 传递给道场

    【讨论】:

      【解决方案2】:

      将结果存储在一个对象中并访问该对象的数据属性。

      var result = {
        "data": [
        {id:"1", name:"One1"},
        {id:"2", name:"Two1"}
      ],
         "total": 2,
         "start": 0,
         "sort": "name",
         "order": "asc",
         "size": 2
      };
      

      result.data 会给你data 数组。

      MDN查看javascript对象文档

      【讨论】:

      • 好的,但我需要删除 "data" : [ 部分和消息的最后部分。否则,Dojo 选择框不会显示任何内容。问题是如何从我的 JSON 中删除“数据”:[ 字符串?
      • result.data 会给你[ {id:"1", name:"One1"}, {id:"2", name:"Two1"} ]
      • 谢谢。如何将 JsonRest 中的数据加载到对象中?
      【解决方案3】:

      resultFromServer =

           {
             "data": [
                 {id:"1", name:"One1"},
                 {id:"2", name:"Two1"}
           ],
               "total": 2,
               "start": 0,
               "sort": "name",
               "order": "asc",
                "size": 2
           };
      

      this 转换为对象(使用 this 以防 resultFromServer 是一个字符串)

          var Output = eval('('+ resultFromServer+')')
      

      这给出了你的输出

          JSON.stringify(Output.data)
      

      给出字符串

          "[{"id":"1","name":"One1"},{"id":"2","name":"Two1"}]"
      

      【讨论】:

        猜你喜欢
        • 2021-10-29
        • 1970-01-01
        • 1970-01-01
        • 2021-12-27
        • 2015-04-27
        • 1970-01-01
        • 1970-01-01
        • 2021-10-14
        • 1970-01-01
        相关资源
        最近更新 更多