Stable JSON Print
JavaScript
Medium
5 views
Problem Description
Given a JSON object, print the same object but with keys sorted alphabetically at every level (recursive). Output should be JSON string.
Input Format
One line JSON object.
Output Format
One line canonical JSON.
Sample Test Case
Input:
{"b":1,"a":{"d":2,"c":1}}
Output:
{"a":{"c":1,"d":2},"b":1}
Constraints
Total keys across nesting up to 2e5.
Official Solution
const fs=require('fs');const s=fs.readFileSync(0,'utf8').trim();if(!s)process.exit(0);const obj=JSON.parse(s);const norm=v=>{if(v===null)return null;if(Array.isArray(v))return v.map(norm);if(typeof v==='object'){const out={};const keys=Object.keys(v).sort();for(const k of keys)out[k]=norm(v[k]);return out;}return v;};process.stdout.write(JSON.stringify(norm(obj)));
Solutions (0)
No solutions submitted yet. Be the first!
No comments yet. Start the discussion!