Convert Array to JSON Object Javascript

Nội dung bài viết

JSON (JavaScript Object Notation) được sử dụng rộng rãi trong việc chia sẻ dữ liệu với nhiều ngôn ngữ khác nhau. Nhờ tính đồng nhất và đơn giản trong việc xử lý dữ liệu.


JSON là gì?


Ở phần học về Nodejs JSON thì chúng ta có nhắc đến việc sử dụng JSON trong Nodejs được triển khai như thế nào? Và qua đó chúng ta đã biết được tầm quan trọng của việc học cấu trúc JSON như thế nào? JSON được biết đến của từ viết tắt (JavaScript Object Notation). 


JSON là một định dạng trao đổi dữ liệu cực kỳ nhẹ để trao đổi dữ liệu giữa phía máy chủ và phía máy khách, nhanh chóng và dễ dàng để phân tích cú pháp. Ở bài này, sẽ đưa ra một số mẹo trong việc sử dụng để Convert array to object javascript hay Convert object to JSON JavaScript.


Convert Array to JSON Object JavaScript


Bạn có thể sử dụng JSON.stringify() (xem thêm: Cách sử dụng JSON.stringify) chuyển đổi một Array thành một chuỗi có định dạng JSON trong JavaScript. Giả sử chúng ta có một array = [6, 7, 8, 9] và nếu bạn muốn array to JSON Object in javascript thì ví dụ sau sẽ cung cấp cho bạn một cách làm rất hay.


var arr = [5, 6, 7, 8]; 
    var arrayToString = JSON.stringify(Object.assign({}, arr));  // convert array to string
    var stringToJsonObject = JSON.parse(arrayToString);  // convert string to json object

    console.log(stringToJsonObject);

Output:

 {
       "0": 5,
       "1": 6,
       "2": 7,
       "2": 8
   }


Ở đây : 

  • Hai phương thức JSON.stringify() và Object.assign() có nhiệm vụ chuyển từ một Array qua JSON string. 
  • Nhiệm vụ còn lạị thuộc phương thức JSON.parse() chuyển đổi String thành JSON object.


Converting an Object to an Array


Khi một trường hợp nào đó bạn cần chuyển đổi một object thành một array() thì chúng ta cũng có thể sử dụng method entries() từ Object class. 


Ví dụ:

const obj = {"1":5,"2":7,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0};
console.log(Object.entries(obj));

Ngoài ra còn có nhiều phương thức khi sử dụng Object nếu có thời gian hãy tham khảo "Object Methods trong JavaScript mọi developers cần phải biết"


Convert two dimensional ( 2d ) arrays to JSON Object JavaScript


Để convert mảng hai chiều thành một Array object thi chúng ta có thể làm theo ví dụ sau: Giả sử có một array như sau:


var arr = [
    ["Status", "Name", "Marks", "Position"], 
    ["active", "Akash", 10.0, "Web Developer"],
    ["active", "Vikash", 10.0, "Front-end-dev"],
    ["deactive", "Manish", 10.0, "designer"],
    ["active", "Kapil", 10.0, "JavaScript developer"],
    ["active", "Manoj", 10.0, "Angular developer"],
];


//javascript create JSON object from two dimensional Array
function arrayToJSONObject (arr){
    //header
    var keys = arr[0];

    //vacate keys from main array
    var newArr = arr.slice(1, arr.length);

    var formatted = [],
    data = newArr,
    cols = keys,
    l = cols.length;
    for (var i=0; i < data.length; i++) {
            var d = data[i],
                    o = {};
            for (var j=0; j < l; j++)
                    o[cols[j]] = d[j];
            formatted.push(o);
    }
    return formatted;
}

Output:

[{
  Marks: 10,
  Name: "Akash",
  Position: "Web Developer",
  Status: "active"
}, {
  Marks: 10,
  Name: "Vikash",
  Position: "Front-end-dev",
  Status: "active"
}, {
  Marks: 10,
  Name: "Manish",
  Position: "designer",
  Status: "deactive"
}, {
  Marks: 10,
  Name: "Kapil",
  Position: "JavaScript developer",
  Status: "active"
}, {
  Marks: 10,
  Name: "Manoj",
  Position: "Angular developer",
  Status: "active"
}]

Ref: https://morioh.com/p/9acdbd845f36?

Có thể bạn đã bị missing