본문 바로가기
웹 프로그래밍

[JS] JSON 형식을 KEY 값으로 정렬하기

by Minius 2020. 5. 19.
반응형

소개

JSON(JavaScript Object Notation)은 데이터를 효과적으로 교환하고 저장하기 위한 인기 있는 형식입니다. 때로는 JSON 데이터를 특정 키를 기준으로 정렬해야 할 필요가 있을 수 있습니다. 이 블로그 글에서는 JavaScript를 사용하여 JSON 형식을 KEY 값으로 정렬하는 간단하면서도 유용한 방법을 알아보겠습니다.

 

 

배경

대한민국의 주소를 동 이름으로 정렬해야 할 일이 있는데, JSON 파일이라 정렬이 불가능했습니다.

정렬은 배열일때만 가능한 점을 꼭 기억해야 합니다.

반응형

구현 순서 및 설명

1. 변수 생성

ordered라는 변수를 생성하여 정렬된 JSON을 넣을 수 있도록 합니다. 정렬되지 않은 변수는 unordered라고 하겠습니다.

const unordered = {
  'b': 'foo',
  'c': 'bar',
  'a': 'baz'
};

console.log(JSON.stringify(unordered));
// → '{"b":"foo","c":"bar","a":"baz"}'

let ordered = {};

 

2. 정렬

아래 코드와 같이 사용하여 정렬합니다.

  1. unordered에서 key 값들을 가져오고
  2. sort를 시키고
  3. 그 결과를 foreach를 돌려 순서대로 ordered에 넣습니다.
Object.keys(unordered).sort().forEach(function(key) {
  ordered[key] = unordered[key];
});

console.log(JSON.stringify(ordered));
// → '{"a":"baz","b":"foo","c":"bar"}'

 

결과

const unordered = {
  'b': 'foo',
  'c': 'bar',
  'a': 'baz'
};

console.log(JSON.stringify(unordered));
// → '{"b":"foo","c":"bar","a":"baz"}'

let ordered = {};
Object.keys(unordered).sort().forEach(function(key) {
  ordered[key] = unordered[key];
});

console.log(JSON.stringify(ordered));
// → '{"a":"baz","b":"foo","c":"bar"}'

 

검색 키워드

"array.sort();"

검색을 통해 json파일을 정렬하는 방법을 찾을 수 있었습니다.

 

출처

https://stackoverflow.com/questions/5467129/sort-javascript-object-by-key

 

Sort JavaScript object by key

I need to sort JavaScript objects by key. Hence the following: { 'b' : 'asdsad', 'c' : 'masdas', 'a' : 'dsfdsfsdf' } Would become: { 'a' : 'dsfdsfsdf', 'b' : 'asdsad', 'c' : 'masdas' }

stackoverflow.com

 

댓글