JavaScript 如何将JSON字符串转换为JSON对象的数组
JSON是用来从客户端到服务器交换数据的。JSON是如此的轻量级,它对人类来说很容易阅读,对机器来说也很容易解析和生成。很多时候,我们得到了字符串格式的数据,我们需要将这些数据转换成数组。在这篇文章中,我们将讨论使用JavaScript将JSON字符串转换为JSON对象数组的多种方法。
- 使用JSON.parse( )方法
-
使用eval( )函数
方法1: 使用JSON.parse( )方法
JSON.parse方法用于转换JSON字符串为JSON对象。这是一种非常快速和标准的处理JSON数据的方法。JSON.parse将字符串作为输入,并根据输入值的结构返回Javascript值、对象、数组、布尔值、空值等。
例子
在这个例子中,我们有一个包含不同人的数据的JSON字符串,我们将使用JSON.parse方法把JSON字符串转换成JSON对象。
<html>
<body>
<h2>Convert JSON string to array of JSON objects using JSON.parse method</h2>
<p>Click the following button to convert JSON string to an array of JSON objects</p><br>
<button id="btn" onclick="convert( )" > Click Here </button> <br>
<p id="result"> </p>
<script>
function convert(){
// Initialize the dummy JSON String
let jsonString = '[ { "name" : "Ram", "age" : 20, "car" : "ford" },{ "name": "Shyam", "age" : "21", "car" : "tata" }, { "name" : "Mohan", "age" : 22, "car" : "toyota" } ]'
// Conver the JSON String to JSON object
let jsonObject = JSON.parse(jsonString);
// Get the paragraph element
let p = document.getElementById("result")
/// Print the Object
p.innerText += JSON.stringify(jsonObject);
// Print the Object on Console
console.log(jsonObject)
}
</script>
</body>
</html>
方法2:使用eval( )函数
javascript中的eval( )函数是一个全局函数,用来评估一个字符串作为表达式。为了使用eval函数将JSON字符串转换为JSON对象的数组,我们将JSON字符串传给它,然后该函数返回JSON对象。
例子
在这个例子中,我们有一个包含不同人的数据的JSON字符串,我们将使用eval( )函数把JSON字符串转换成JSON对象。
<html>
<body>
<h2>Convert JSON string to array of JSON objects using eval function</h2>
<p>Click the following button to convert JSON string to an array of JSON objects</p><br>
<button id="btn" onclick="convert( )" > Click Here </button> <br>
<p id="result"></p>
<script>
function convert(){
// Initialize the dummy JSON String
let jsonString = '[ { "name" : "Ram", "age" : 20, "car" : "ford"},{ "name": "Shyam", "age" : "21", "car" : "tata" }, { "name" : "Mohan", "age" : 22, "car" : "toyota" } ]'
// Conver the JSON String to JSON object
let jsonObject = eval(jsonString);
// Get the paragraph element
let p = document.getElementById("result")
/// Print the Object
p.innerText += JSON.stringify(jsonObject);
// Print the Object on Console
console.log(jsonObject)
}
</script>
</body>
</html>