我使用GUI创建页面,将其保存为JSON文件,然后由CMS读取JSON文件。
问题:我想修改我创建的对象,但代码超级最小化,我无法找到对象。
通过一个例子来说明一点。我用一个名为“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\");"
}
]
}
]
} }
答案 0 :(得分:1)
您的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\");"
}
]
}
]
} }
答案 1 :(得分:0)
你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