JSFiddle - React, Tailwind, and code Playground

by awolf2904

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
<pre id="output"></pre>

JavaScript

var resultJSON = {
    d: {
        __metadata: {},
            "Name_x0020_of_x0020_Developers": {
            "results": [{
                "Title": "Ankur Shah"
            }, {
                "Title": "Srikanth"
            }, {
                "Title": "Tony Liu"
            }]
        },
            "Name_x0020_of_x0020_Reviewers": {
            "results": [{
                "Title": "Name1"
            }, {
                "Title": "Name2"
            }, {
                "Title": "Name3"
            }]
        }
    }
};

//console.log(resultJSON);

var names = {
        developers: 'Name_x0020_of_x0020_Developers',
        reviewers: 'Name_x0020_of_x0020_Reviewers'
    },
    parsed = {};

_.each(names, function (name, key) {
    parsed[key] = _.chain(resultJSON) // key is developers, reviewers
        .pluck(name) // is the name in the JSON e.g. Name_..._Developers
        .pluck('results')
        .tap(function (data) { // tap is optional and can be removed
            console.log('before flatten', data); // it shows the nesting [[]]
        })
        .flatten(true) // used to remove outer array
        .tap(function (data) {
            // we now have the result. Next, get the title
            console.log('before getting the Title', data);
        })
        .pluck('Title')
        .value();
});

console.log(parsed);
document.getElementById('output').innerHTML = JSON.stringify(parsed, null, 2);

//console.log(parsed.developers.join(','));