繁体   English   中英

如何在Javascript中找到对象

[英]How can I find an object in Javascript

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

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

用一个例子来澄清。 我创建一个带有名为“按钮”的按钮的页面。 它以这样的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(St);”的方法,则会收到“ ReferenceError:S未定义”。

我想做的是找到一种说法:找到我的对象,其属性之一等于“按钮”。 给我名字。

这样我就可以使用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]并使用键的'names'来访问数组,例如'.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\");"
           }
        ]
     }
  ]
} }

Json应该像

var 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\");"
            }
         ]
     }
]  

要么

var obj = {
    "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(S[0].t);  // if you choose first
alert(obj.S[0].t);  // if you choose second

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM