JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js"></script>
JavaScript
myObj = {
contact : {
firstname : "ryan",
lastname : "anklam"
},
company : {
name : "IDL",
address : {
line1 : "123 Fake St",
line2: "Apt 1"
}
},
username : "bittersweetyran",
fruitsILike : ["apples","bananas","pineapple"],
nestedArOb: [{"name":"test"}]
};
var res = {};
(function recurse(obj, current) {
for(var key in obj) {
var value = obj[key];
var newKey = (current ? current + "." + key : key); // joined key with dot
if(value && typeof value === "object") {
recurse(value, newKey); // it's a nested object, so do it again
} else {
res[newKey] = value; // it's not an object, so set the property
}
}
})(myObj);
var result = JSON.stringify(res); // convert result to JSON
console.log(result);