[格式化并提取JSON

问题描述 投票:0回答:1

我想以以下格式提取JSON数据OUTPUT。JSON:

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


但是,我现在有的是

`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;
}

//创建学生JSON对象

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

//创建完整JSON

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

`

它产生了预期结果的一部分,但是我仍然坚持如何包括第一个关键部分,即“人”。任何有关如何包括“人”以提取整个数据的线索/想法,将不胜感激。

javascript json format extract
1个回答
0
投票

您不需要手动构建一个JSON字符串,之后您将立即对其进行解析。您宁愿直接创建JS对象:

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

function CreateStudent(givenName, surname) {
    const obj = {
        person: {
            givenName: givenName,
            surname: surname
        }
    };

    return obj;
}

const  info = createInfo("active", "userid_cn", "2122", "[email protected]");

console.log(info);

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

console.log(student);

请注意,JSON对象不存在。 JSON字符串执行

© www.soinside.com 2019 - 2024. All rights reserved.