javascript - 如何在 Javascript 中找到对象

标签 javascript json

我使用 GUI 创建页面,将其保存为 JSON 文件,然后由 CMS 读取该 JSON 文件。

问题:我想修改我创建的对象,但代码被 super 最小化,我找不到该对象。

用一个例子来清楚地说明。我创建一个带有名为“BUTTON”的按钮的页面。它以如下 JSON 格式导出:

"S":[  
     {  
        "Y":"h",
        "b":1,
        "nm":"BUTTON1",
        "f":"1,0,1,0",
        "c":"FFFFFF,000000",
        "l":"2020,1840,4140,8820",
        "n":"Helvetica",
        "h":192,
        "L":0,
        "i":0,
        "j":1,
        "vj":1,
        "t":"Button",
        "Act":[  
           {  
              "e":"OnClick",
              "s":"\r\ngraphicReplace(\"Public/essai/vue0\");"
           }
        ]
     }
 ]

它会在 CMS 中显示一个按钮。但是,如果我尝试“alert(S.t);”之类的内容,我会收到“ReferenceError:S 未定义”。

我想做的是找到一种方式来表达: 找到一个对象,其属性之一等于“Button”。给我名字。

这样我就可以使用 JS 更改其位置、大小等。

<小时/>

完整的 JSON

{  
   "PG":{  
  "v":5,
  "h":20480,
  "w":25600,
  "pc":"FFFFFF",
  "de":"",
  "st":0,
  "Act":[  

  ],
  "S":[  
     {  
        "Y":"h",
        "b":1,
        "nm":"BUTTON1",
        "f":"1,0,1,0",
        "c":"FFFFFF,000000",
        "l":"2020,1840,4140,8820",
        "n":"Helvetica",
        "h":192,
        "L":0,
        "i":0,
        "j":1,
        "vj":1,
        "t":"Button",
        "Act":[  
           {  
              "e":"OnClick",
              "s":"\r\ngraphicReplace(\"Public/essai/vue0\");"
           }
        ]
     }
  ]

} }

最佳答案

您的 JSON 包含一个数组,该数组又包含其余。您可以看到,在 'S' 键之后,后面跟着括号 [] 来表明这一点。

所以你(可能)需要使用..S[0].t

您可以通过索引访问数组,如[0],也可以通过“名称”访问键,如'.Act'

从我上面看到的应该是 json.PG.S[0].t 其中 json 表示实际包含该 JSON 的变量的名称,

var json = {
  "PG": {
    "v": 5,
    "h": 20480,
    "w": 25600,
    "pc": "FFFFFF",
    "de": "",
    "st": 0,
    "Act": [

    ],
    "S": [{
      "Y": "h",
      "b": 1,
      "nm": "BUTTON1",
      "f": "1,0,1,0",
      "c": "FFFFFF,000000",
      "l": "2020,1840,4140,8820",
      "n": "Helvetica",
      "h": 192,
      "L": 0,
      "i": 0,
      "j": 1,
      "vj": 1,
      "t": "Button",
      "Act": [{
        "e": "OnClick",
        "s": "\r\ngraphicReplace(\"Public/essai/vue0\");"
      }]
    }]
  }
}


alert(json.PG.S[0].t);

例如假设:

var json = {  
   "PG":{  
  "v":5,
  "h":20480,
  "w":25600,
  "pc":"FFFFFF",
  "de":"",
  "st":0,
  "Act":[  

  ],
  "S":[  
     {  
        "Y":"h",
        "b":1,
        "nm":"BUTTON1",
        "f":"1,0,1,0",
        "c":"FFFFFF,000000",
        "l":"2020,1840,4140,8820",
        "n":"Helvetica",
        "h":192,
        "L":0,
        "i":0,
        "j":1,
        "vj":1,
        "t":"Button",
        "Act":[  
           {  
              "e":"OnClick",
              "s":"\r\ngraphicReplace(\"Public/essai/vue0\");"
           }
        ]
     }
  ]
} }

关于javascript - 如何在 Javascript 中找到对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30754656/

相关文章:

javascript - 在另一个文件中的函数表达式内调用函数总是给出未定义的错误

.net - 使用 serilog 记录 json

c# - 声明变量以返回 Json 结果(ASP.NET MVC4)

javascript - 如何用js对输入字段的值进行限制

JavaScript 单例模式 - 差异?

javascript - 单杠分析

ios - 在 swift 中解析 Json 后获取空数据

json - Angular2 Http 后 400

json - $ .get使用google API检索YouTube视频,在IE中不返回任何内容

javascript - 如何获得正则表达式以匹配以 ".js"结尾但不以 ".test.js"结尾的文件?