-1

So, I have the next json:

{
     "massive2":[
         "a",
         "c",
         "b"
     ],
     "key5":"val5",
     "key2":"val2",
     "massive1":[
          "3",
          "4",
          "2",
          "1"
    ],
    "key3":"val3",
    "key4":"val4",
    "key1":"val1"
}

How can I sort all pairs by key and all elements in all massives (to the end of json tree) in alphabetical, or if it is massive in some other order to get json like this:

{
     "key1":"val1",
     "key2":"val2",
     "key3":"val3",
     "key4":"val4",
     "key5":"val5",
     "massive1":[
          "1",
          "2",
          "3",
          "4"
    ],
     "massive2":[
         "a",
         "b",
         "c"
     ]
}

I don't know beforehand how deep my json will be. Maybe there are some java libraries for this?

Roman Shmandrovskyi
  • 883
  • 2
  • 8
  • 22

1 Answers1

1

let items = {
     "massive2":[
         "a",
         "c",
         "b"
     ],
     "key5":"val5",
     "key2":"val2",
     "massive1":[
          "3",
          "4",
          "2",
          "1"
    ],
    "key3":"val3",
    "key4":"val4",
    "key1":"val1"
};

let data = {};

Object.keys(items).sort().forEach(function(k){
    data[k] = items[k];
});

console.log(data);
Chayan
  • 604
  • 5
  • 12