[英]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.