Home >Web Front-end >Front-end Q&A >Convert string to object array javascript

Convert string to object array javascript

王林
王林Original
2023-05-12 19:51:363235browse

In JavaScript, strings and objects are two different types, and the data they store is also very different. In web development, we often encounter situations where we need to convert strings into object arrays, such as JSON data obtained from the server. This article will introduce several methods to convert strings into object arrays.

Method 1: Use JSON.parse()

In JavaScript, you can use the JSON.parse() method to convert a string in JSON format into an object or array. The principle of the JSON.parse() method is to parse a JSON string into a JavaScript object or array.

For example, we have the following JSON string:

var jsonString = '[{"name":"John","age":30,"city":"New York"},{"name":"Jane","age":25,"city":"Los Angeles"},{"name":"Bob","age":40,"city":"Chicago"}]';

Use the JSON.parse() method to convert it into an array of objects:

var jsonObjectArray = JSON.parse(jsonString);

We can use a loop statement to iterate over the Array, output the attributes of each object:

for(var i=0; i<jsonObjectArray.length; i++){
    console.log("Name: "+jsonObjectArray[i].name+", Age: "+jsonObjectArray[i].age+", City: "+jsonObjectArray[i].city);
}

Method 2: Use eval()

eval() is a function in JavaScript that can treat the incoming string parameters as JavaScript The code is executed. Therefore, we can use the eval() function to convert a JSON-formatted string into an object or array.

For example, we have the following JSON string:

var jsonString = '[{"name":"John","age":30,"city":"New York"},{"name":"Jane","age":25,"city":"Los Angeles"},{"name":"Bob","age":40,"city":"Chicago"}]';

Use the eval() function to convert it into an array of objects:

var jsonObjectArray = eval("("+jsonString+")");

Similarly, we can use a loop statement to iterate over the Array, output the attributes of each object:

for(var i=0; i<jsonObjectArray.length; i++){
    console.log("Name: "+jsonObjectArray[i].name+", Age: "+jsonObjectArray[i].age+", City: "+jsonObjectArray[i].city);
}

It should be noted that the eval() function may have security risks and is not recommended for use in a production environment. Instead, the JSON.parse() method should be used.

Method 3: Use string splitting and replacement

An older method is to use string splitting and replacement to convert the string into an object array.

For example, we have the following JSON string:

var jsonString = '[{"name":"John","age":30,"city":"New York"},{"name":"Jane","age":25,"city":"Los Angeles"},{"name":"Bob","age":40,"city":"Chicago"}]';

First, we need to replace the commas used to separate objects in the string with semicolons, and replace the curly brackets with square brackets, to get A legal JavaScript array declaration:

jsonString = jsonString.replace(/}/g, '},');
jsonString = jsonString.replace(/,$/, '');
jsonString = jsonString.replace(/{/g, '[');
jsonString = jsonString.replace(/}/g, '}]');

Then, use the eval() function to convert it into an object array:

var jsonObjectArray = eval(jsonString);

Similarly, we can use a loop statement to traverse the array and output each object Attributes:

for(var i=0; i<jsonObjectArray.length; i++){
    console.log("Name: "+jsonObjectArray[i].name+", Age: "+jsonObjectArray[i].age+", City: "+jsonObjectArray[i].city);
}

It should be noted that this method is only suitable for relatively simple JSON formats. For deeply nested JSON formats, this method will fail.

Summary

The above are several methods of converting strings into object arrays. In actual development, it is recommended to use the JSON.parse() method to convert JSON-formatted strings into objects or arrays. It is highly efficient and safe, and is more in line with the specifications of the language itself. If you need to support older browser versions, consider using the eval() function or string splitting and replacing.

The above is the detailed content of Convert string to object array javascript. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn