Формат и извлечение JSON - PullRequest
       50

Формат и извлечение JSON

0 голосов
/ 20 января 2020

Я хотел бы извлечь JSON данные ВЫХОД в следующем формате. JSON:

{
   "person":{
      "givenName":"alpha",
      "surname":"bravo",
      "Info":{
         "status":"active",
         "userid":"userid_cn",
         "roles":[
            "faculty.role1",
            "faculty.role2"
         ],
         "studynum":"2122",
         "email":"alpha.bravo@email.com"
      }
   }
}

Тем не менее, в настоящее время у меня есть

function createInfo(status, userid,studynum,email) {
    var objectString = "{\"status\": \"active\",\"userid\": \"" + userid + "\",\"roles\": [\"faculty.role1\",\"faculty.role2\"],\"studynum\":\"" + 
    studynum + "\",\"email\": \""+ email + "\"}";
    var orgInfoJSon = JSON.parse(objectString);
    return orgInfoJSon;
}

//Create Student JSON object

function CreateStudent(givenName, surname) {
    var objectString = "{\"givenName\": \"" + givenName + "\",\"surname\": \"" + surname + "\"}";
    var StudentJSON = JSON.parse(objectString);
    return StudentJSON;
}

//Create Full JSON

function CreateFacultyUpdateJSON(givenName, surname,status, userid,studynum,email) {
    var returnJSON = CreateStudent(givenName, surname);
    returnJSON["Info"] = createInfo(status, userid,studynum,email);
    return returnJSON;
}

. Он генерирует часть ожидаемого результата, но я застрял на том, как включить первый ключевая часть, «человек». Будем весьма благодарны за любые подсказки / идеи о том, как включить «человека» для извлечения всей информации.

1 Ответ

0 голосов
/ 20 января 2020

Вам не нужно вручную создавать строку JSON, которую вы сразу проанализируете. Вы бы предпочли создать непосредственно объект JS.

Если вы хотите добавить Info непосредственно в объект ученика, вы можете передать его в качестве параметра в функцию, которая строит студента:

function createInfo(status, userid, studynum, email) {
    const obj = {
        status: status,
        userid : userid,
        roles: [ "faculty.role1", "faculty.role2" ],
        studynum: studynum,
        email: email
    };
    return obj;
}

// Add the info object --------------------v--v
function CreateStudent(givenName, surname, info) {
    const obj = {
        person: {
            givenName: givenName,
            surname: surname,
            Info: info
        }
    };

    return obj;
}

const  info = createInfo("active", "userid_cn", "2122", "alpha.bravo@email.com");

const student = CreateStudent("alpha", "bravo", info)

console.log(student);

Обратите внимание, что JSON Объект не существует. A JSON строка ли

...