i threw code flatten , un-flatten complex/nested json objects. works, it's bit slow (triggers 'long script' warning). for flattened names want "." delimiter , [index] arrays. examples: un-flattened | flattened --------------------------- {foo:{bar:false}} => {"foo.bar":false} {a:[{b:["c","d"]}]} => {"a[0].b[0]":"c","a[0].b[1]":"d"} [1,[2,[3,4],5],6] => {"[0]":1,"[1].[0]":2,"[1].[1].[0]":3,"[1].[1].[1]":4,"[1].[2]":5,"[2]":6} i created benchmark ~simulates use case http://jsfiddle.net/wszec/ get nested json object flatten it look through , possibly modify while flattened unflatten it's original nested format shipped away i faster code: clarification, code completes jsfiddle benchmark ( http://jsfiddle.net/wszec/ ) faster (~20%+ nice) in ie 9+, ff 24+, , chrome 29+. here's relevant javascript code: ...