programing

JavaScript를 통해 동적으로 JSON 객체 생성(구체 문자열 없음)

lovejava 2023. 2. 28. 23:08

JavaScript를 통해 동적으로 JSON 객체 생성(구체 문자열 없음)

JSON 데이터는 다음과 같습니다.

{
    "employees": [
        {
            "firstName": "John",
            "lastName": "Doe"
        },
        {
            "firstName": "Anna",
            "lastName": "Smith"
        },
        {
            "firstName": "Peter",
            "lastName": "Jones"
        }
    ]
}

직원의 열과 행 수를 모르는 경우 JavaScript(구체 문자열 없이)에서 이 개체를 만들려면 어떻게 해야 합니까?"onGeneratedRow" 메서드에서 각 행을 얻었으며 각 열(firstName, lastName)을 '{}' 괄호로 묶어야 한다고 가정합니다.

var viewData = { 
    employees : [] 
};

var rowNum = -1; 

function onGeneratedRow(columnsResult)
{
    rowNum = rowNum + 1;
    viewData.employees.push({});    
    columnsResult.forEach(function(column) {                  
    var columnName = column.metadata.colName;
    viewData.employees[rowNum][columnName] = column.value;  });
}

이게 네게 필요한 거야!

function onGeneratedRow(columnsResult)
{
    var jsonData = {};
    columnsResult.forEach(function(column) 
    {
        var columnName = column.metadata.colName;
        jsonData[columnName] = column.value;
    });
    viewData.employees.push(jsonData);
 }

아마 이 정보가 도움이 될 거예요.

var sitePersonel = {};
var employees = []
sitePersonel.employees = employees;
console.log(sitePersonel);

var firstName = "John";
var lastName = "Smith";
var employee = {
  "firstName": firstName,
  "lastName": lastName
}
sitePersonel.employees.push(employee);
console.log(sitePersonel);

var manager = "Jane Doe";
sitePersonel.employees[0].manager = manager;
console.log(sitePersonel);

console.log(JSON.stringify(sitePersonel));

이 토픽, 특히 Xotic750의 답변은 저에게 큰 도움이 되었습니다.json 변수를 생성하여 jax를 사용하여 php 스크립트에 전달하려고 합니다.나의 값은 2개의 배열에 저장되었고, 나는 그것들을 json 형식으로 원했다.일반적인 예를 다음에 나타냅니다.

valArray1 = [121, 324, 42, 31];
valArray2 = [232, 131, 443];
myJson = {objArray1: {}, objArray2: {}};
for (var k = 1; k < valArray1.length; k++) {
    var objName = 'obj' + k;
    var objValue = valArray1[k];
    myJson.objArray1[objName] = objValue;
}
for (var k = 1; k < valArray2.length; k++) {
    var objName = 'obj' + k;
    var objValue = valArray2[k];
    myJson.objArray2[objName] = objValue;
}
console.log(JSON.stringify(myJson));

콘솔 로그의 결과는 다음과 같습니다.

{
   "objArray1": {
        "obj1": 121,
        "obj2": 324,
        "obj3": 42,
        "obj4": 31
   },
   "objArray2": {
        "obj1": 232,
        "obj2": 131,
        "obj3": 443
  }
}

자바스크립트

var myObj = {
   id: "c001",
   name: "Hello Test"
}

결과(JSON)

{
   "id": "c001",
   "name": "Hello Test"
}

언급URL : https://stackoverflow.com/questions/16507222/create-json-object-dynamically-via-javascript-without-concate-strings