从JSON对象转换为JavaScript中的数组

从JSON对象转换为JavaScript中的数组

JSON(JavaScript对象表示法)对象 可以使用 JavaScript 创建。 JSON对象 始终被括在花括号{}中。键必须是字符串,值必须是有效的 JSON数据类型 。字符串、数字、对象、布尔值、数组和Null等数据类型都将被 JSON 支持。键和值之间用冒号(”:”)分隔,每个键值对之间用逗号分隔。

语法

以下是JSON对象的语法−

var JSONObj = {};

下面的示例是JavaScript中JSON对象的基本声明-

var JSONObj = {  
   "Movie ":"Avatar", 
   "Director":"James Cameron", 
   "Budget_in_dollars": 250 
}; 

数组 是一组类似的数据元素,它们将被存储在连续的内存位置上。可以使用索引号来访问数组元素。这些索引号将从0开始。

语法

以下是创建数组的语法 –

const array = [element1, element2, ...];

这是JavaScript中数组的基本声明方式:

const array = ["shirt","pant","shoe"]; 

输入输出场景

考虑我们有一个带有值和键对的JSON对象,我们需要将该对象转换成一个数组。尝试将JSON对象转换成数组时,结果会如下面的示例所示。

JSONObject = { 
   "Fisrtname": 'Mohammed", 
   "Lastname": "Ali" 
}; 
Output = [["Firstname", "Mohammed"], ["Lastname", "Ali"]]  

Object.keys()

JavaScript中的 Object.keys() 方法将返回一个包含元素的数组,这些元素将来自对象的可枚举属性。字符串中元素的排序将与对象中的顺序相同。

让我们考虑下面的例子,我们声明了一个带有键值对的JSON对象。通过使用 Object.keys() ,我们将对象的可枚举属性转换为字符串数组。

例子

以下是使用 object.keys() 方法将JSON对象转换为数组的示例

<html> 
<head> 
   <title>JSON object to an array</title>
   <p id = 'para'> </p> 
</head> 
<body> 
   <script> 
      const JSON_obj = { 
         "Name": "Ali", 
         "Hometown": "Hyderabad", 
         "age": "29" 
      }; 
      var array = Object.keys(JSON_obj); 
      document.getElementById("para").innerHTML = array; 
   </script> 
</body> 
</html>         

通过使用for … in循环将JSON对象转换为数组

我们可以通过使用for … in循环将JSON对象转换为数组。此循环将迭代所有对象的可枚举属性,这些属性是字符串编码的。默认情况下,内部可枚举值为true,因为我们通过简单赋值来分配对象的属性。

让我们考虑一个例子,我们在这里创建一个JSON对象,并通过将它的所有属性推送到一个数组中来将其转换为数组。在此循环中,对象的键和值将一起迭代,然后将它们推送到数组中。

示例

以下是使用for … in循环将JSON对象转换为数组的示例:

<!DOCTYPE html> 
<html> 
<head> 
   <title>JSON object to an array</title>
   <button onClick = "func()"> click to convert</button> 
   <p id ='para'> </p> 
   <script> 
      const JSONobject = { 
         "name": "yuvraj", 
         "role": "batsmen", 
         "age": "37", 
         "bat": "left" 
      }; 
      function func(){ 
         const res_array = []; 
         for(let i in JSONobject) { 
            res_array.push([i,JSONobject[i]]); 
         }; 
         document.getElementById("para").innerHTML = res_array; 
      }; 
   </script> 
</head> 
</html>         

使用Object.entries()方法

JavaScript中的Object.entries()方法将返回一个包含JSON对象中可枚举属性[key, value对]的数组。

默认情况下,内部可枚举值为true,因为我们使用简单赋值方式分配了对象的属性,所以数组中的属性顺序与对象相同。

示例

在下面的示例中,我们创建了一个JSON对象,并使用Object.entries()将对象的键和值都推到空数组(res_array)中。

<!DOCTYPE html> 
<html> 
<head> 
   <title>JSON object to an array</title>
   <button onClick = "func()">Convert!</button> 
   <h2 id = 'heading1'></h2> 
   <script> 
      const JSONobject = { 
         'Movie': 'RRR', 
         'Actor1': 'Ram Charan', 
         'Actor2': 'NTR', 
         'Director': 'SS Rajamouli' 
      };  
      function func(){ 
         const resArray = []; 
         for (const [key, value] of Object.entries(JSONobject)) { 
            resArray.push([`{key}`, `{value}`]); 
         } 
         document.getElementById("heading1").innerHTML = resArray; 
      }; 
   </script> 
</head> 
</html>         

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程