숫자를 "인덱스"(JSON)로 사용
최근에 JSON에 파고들기 시작했고, 현재 "식별자"로 숫자를 사용하려고 하는데 잘 되지 않습니다. foo:"bar"
하는 한편, 「」는 정상적으로 동작합니다.0:"bar"
그렇지 않다.
var Game = {
status: [
{
0:"val",
1:"val",
2:"val"
},
{
0:"val",
1:"val",
2:"val"
}
]
}
alert(Game.status[0].0);
다음과 같은 방법으로 할 수 있는 방법이 있습니까?Game.status[0].0
, 이더 좋습니다.물론 다른 방법도 있지만, 이 방법이 더 좋습니다.
JSON에서는 키 이름만 문자열로 지정할 수 있습니다.이 문자열은 수치로 구성될 수 있습니다.
근데 JSON은 안 쓰잖아.JavaScript 개체 리터럴이 있습니다.키에 식별자를 사용할 수 있지만 식별자는 숫자로 시작할 수 없습니다.그래도 끈은 쓸 수 있어요.
var Game={
"status": [
{
"0": "val",
"1": "val",
"2": "val"
},
{
"0": "val",
"1": "val",
"2": "val"
}
]
}
닷 표기를 사용하여 속성에 액세스하는 경우 식별자를 사용해야 합니다.합니다.Game.status[0][0]
.
하지만 이 데이터를 고려하면 배열이 더 말이 되는 것 같습니다.
var Game={
"status": [
[
"val",
"val",
"val"
],
[
"val",
"val",
"val"
]
]
}
우선 JSON이 아닙니다.JSON은 모든 키가 문자열이어야 합니다.
둘째, 일반 어레이는 다음과 같은 작업을 수행합니다.
var Game = {
status: [
[
"val",
"val",
"val"
],
[
"val",
"val",
"val"
]
}
하면.Game.status[0][0]
. 도트 표기법에서는 숫자를 사용할 수 없습니다..0
를 참조해 주세요.
따옴표로 묶을 다음과 같습니다.{ "0": "val" }...
만, ; 어레이 대신 플레인오브젝트가 있는데 같은 구문이 동작합니다.
어레이가 필요하신가요?
var Game = {
status: [
["val", "val","val"],
["val", "val", "val"]
]
}
alert(Game.status[0][0]);
속성의 점 표기법(Javascript처럼)을 할 수 .Game.status[0].0
대체 표기법을 사용해야 합니다.Game.status[0][0]
한 가지 다른 주의사항입니다. 상태 배열 내의 객체가 정말 필요합니까?개체를 어레이처럼 사용하는 경우 실제 어레이를 사용하는 것이 어떨까요?
JSON은 키 타입을 문자열로 규제합니다.목적은 객체의 멤버에 액세스하기 위한 도트 표기법을 지원하는 것입니다.
예를 들어, 사람 = {"키":170, "무게":60, "나이":32}입니다.회원은 개인으로 접속할 수 있습니다.키, 사람.중량 등JSON이 값 키를 지원하는 경우 person.0, person.1, person.2와 같습니다.
JSON은 "JavaScript 객체 표기법"입니다.JavaScript는 키가 문자열 또는 기호여야 함을 지정합니다.
MDN Docs의 다음 인용문에서는 "key/property"라는 용어를 사용하여 "key/value"라고 하는 표현을 자주 사용합니다.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Objects
JavaScript에서 오브젝트는 속성 집합으로 볼 수 있습니다.오브젝트 리터럴 구문을 사용하면 제한된 속성 세트가 초기화되어 속성을 추가하거나 삭제할 수 있습니다.속성 값은 다른 객체를 포함하여 모든 유형의 값이 될 수 있으므로 복잡한 데이터 구조를 구축할 수 있습니다.속성은 키 값을 사용하여 식별됩니다.키 값은 문자열 또는 기호 값입니다.
어때
Game.status[0][0] or Game.status[0]["0"] ?
이것들 중 하나가 작동하나요?
PS: 질문하신 것은 JSON이 아닌 Javascript Object입니다.JSON은 Javascript Object의 string 버전입니다.
언급URL : https://stackoverflow.com/questions/8758715/using-number-as-index-json
'sourcetip' 카테고리의 다른 글
django-rest-display 3.0은 네스트된 시리얼라이저로 작성 또는 갱신합니다. (0) | 2023.04.03 |
---|---|
Oracle에서 활성/열린 연결을 나열하는 방법 (0) | 2023.04.03 |
이벤트 개체를 문자열화하는 방법 (0) | 2023.04.03 |
스프링 테스트에서 @EnableScheduling 비활성화 (0) | 2023.03.29 |
MVC vs. 플럭스 ? 양방향 vs.단방향? (0) | 2023.03.29 |