json을 사용하여 튜플을 인코딩하는 가장 좋은 방법
python에서는 tuples를 tuples 목록에 매핑하는 사전이 있습니다.
{(1,2): [(2,3),(1,7)]}
javascript를 사용하여 이 데이터를 인코딩할 수 있도록 하고 싶어서 json을 조사했는데 키가 문자열이어야 하기 때문에 탭이 키로 동작하지 않습니다.
이것을 처리하는 가장 좋은 방법은 "1,2"로 인코딩한 후 Javascript에서 원하는 것으로 해석하는 것입니까?아니면 이것을 다루는 더 현명한 방법이 있을까요?
이렇게 말하는 것을 고려해보세요.
{"[1,2]": [(2,3),(1,7)]}
그 후 값을 제공해야 할 경우 키 자체를 JSON 개체로 해석할 수 있습니다.이것은 최신 브라우저의 모든 빌트인에서 실행할 수 있습니다.JSON.parsemethod (사용하고 있다)jQuery.each여기서 반복하지만 무엇이든 사용할 수 있습니다.):
var myjson = JSON.parse('{"[1,2]": [[2,3],[1,7]]}');
$.each(myjson, function(keystr,val){
var key = JSON.parse(keystr);
// do something with key and val
});
한편, 예를 들어 오브젝트를 다른 방법으로 구성하는 것이 좋습니다.
{1: {2: [(2,3),(1,7)]}}
라고 말하는 대신
myjson[1,2] // doesn't work
잘못된 Javascript 구문입니다.
myjson[1][2] // returns [[2,3],[1,7]]
키 튜플이 진정한 정수 쌍인 경우 가장 쉽고 가장 간단한 방법은 제안대로입니다.문자열로 인코딩합니다.이 작업은 원라이너로 수행할 수 있습니다.
>>> simplejson.dumps(dict([("%d,%d" % k, v) for k, v in d.items()]))
'{"1,2": [[2, 3], [1, 7]]}'
이를 통해 javascript 데이터 구조를 얻을 수 있으며, 그 키를 분할하여 포인트를 다시 얻을 수 있습니다.
'1,2'.split(',')
권장사항은 다음과 같습니다.
{ "1": [
{ "2": [[2,3],[1,7]] }
]
}
아직 구문 분석 중이지만 사용 방법에 따라 이 형식이 더 쉬울 수 있습니다.
JSON에서는 어레이를 키로 사용할 수 없습니다.당신이 할 수 있는 최선은 그것을 인코딩하는 것이다.미안하지만, 다른 제정신적인 방법은 없어.
단순히 2차원 배열일 수도 있나요?그러면 정수를 키로 사용할 수 있습니다.
언급URL : https://stackoverflow.com/questions/715550/best-way-to-encode-tuples-with-json
'programing' 카테고리의 다른 글
| URL의 각도 변경을 위한 IIS 설정 방법HTML5 모드의 JS 어플리케이션 (0) | 2023.03.10 |
|---|---|
| 스프링 부츠의 장점 (0) | 2023.03.10 |
| Angular ng-messages: 비밀번호 확인 방법 (0) | 2023.03.10 |
| VueJs 템플릿.외부 템플릿을 로드하는 방법 (0) | 2023.03.10 |
| 같은 리피터 필드의 값이 다른 언어로 갱신되면 ACF 리피터 필드의 값은 늘이 됩니다. (0) | 2023.03.10 |