将字符串转换为JSON的方法

906 阅读4分钟

Convert String to JSON

将字符串转换为JSON的介绍

让我们看看字符串到JSON的转换,我们知道JSON序列化和反序列化,JSON字符串化,JSON解析器等。字符串到JSON的转换可以在JavaScript、Java、Python和许多其他语言中完成。那么,这个将字符串转换为JSON是什么意思?JSON.parse方法是用来按照一些规范将输入的字符串转换为JSON对象。将字符串转换为JSON,将输入的字符串转换为JSON对象,让用户拥有像地图或数组一样的可读格式的输出。这种转换在JavaScript中可以通过JSON.parse()实现。在Java中,GSON对象被用于转换,而在Python中,json.load()被用于这种转换。

将字符串转换成JSON的语法

下面是提到的语法。

JavaScript。

var obj = JSON.parse(string, function);

参数'string'是一个必要的参数,字符串被写成JSON格式。

Reviver函数是一个可选的参数,用于转换结果。如果这个reviver函数返回一个有效的值,项目的值就会被转换后的值取代。如果,reviver返回未定义的值,那么该项目将被删除。

例子。

代码。

var obj = JSON.parse('{ "employeeName":"Amar", "age":36, "city":"Paris"}');

如果要解析的字符串不是有效的JSON,就会抛出SyntaxError异常。

JSON语法是JS语法的一个子集。

Java。

Gson g = new Gson();

Python。

jsonString = json.loads(input_string);

在JavaScript中把字符串转换为JSON

JSON对象,是JS中的一种数据类型,定义了属性和值对,JSON是数据交换的格式化。在各种程序中被格式化的一堆字符,以方便交流,它返回与JSON文本/字符串对应的JSON对象。

例子。

代码。

var jsonSample = ‘{“employeeName”: “Amar”}’;
var obj = JSON.parse(jsonStr);
console.log(obj.employeeName); // prints “Amar”
console.log(jsonSample.employeeName); // prints undefined

当我们将字符串转换为JSON时,字符串被解析为JSON对象,可以在代码中的任何地方使用。这里,在解析之前,它是一个字符串,所以数据不能被编码。它在解析时被转换为JS对象,这使得它可以在代码中的任何地方访问。

将字符串转换为JSON的例子

下面是将字符串转换为JSON的例子。

例子#1

代码。

const jsonSample = '{"result":false, "count":24}';
const obj = JSON.parse(jsonSample);
console.log(obj.count);
console.log(obj.result);
console.log(JSON.parse('{}'));
console.log(JSON.parse('true'));
console.log(JSON.parse('"amar"'));
console.log(JSON.parse('[14, 45, "true"]'));
console.log(JSON.parse('null'));
//console.log(JSON.parse('[11, 22, 33, 44, ]'));
//console.log(JSON.parse('{"dob" : 34, }'));
//console.log(JSON.parse("{'age': 10}"));

输出。

Convert String to Json 1

在Java中,我们需要使用Gson库,一个叫做JsonParser的解析器,它可以解析JSON字符串。同时,用户可以创建一个Gson实例并使用fromJson方法。Gson是一个开源的库,用于在Java中把字符串转换为Json。Gson的良好性能是有目共睹的。

例子 #2

代码。

<!DOCTYPE html>
<html>
<body>
<h2>Parsing from JSON String</h2>
<p id="demo"></p>
<script>
var txt = '{"employeeName":"Amar", "age":36, "city":"Paris"}'
var obj = JSON.parse(txt);
document.getElementById("demo").innerHTML = obj.employeeName + " of age " + obj.age + " lives in " + obj.city;
</script>
</body>
</html>

输出。

Convert String to Json 2

例子 #3

代码。

<!DOCTYPE html>
<html>
<body>
<h2>Conversion of JSON string to date object</h2>
<p id="demo"></p>
<script>
var sampleText = '{"employeeName":"Amar", "dob":"1986-06-24", "city":"Paris"}';
var obj = JSON.parse(sampleText);
obj.dob = new Date(obj.dob);
document.getElementById("demo").innerHTML = obj.employeeName + " was born on " + obj.dob + " in " + obj.city;
</script>
</body>
</html>

输出。

date object

所以在这里,JavaScript中的Date函数检索了印度标准时间中的出生日期。日期对象在JSON中是不允许的;因此我们把它写成一个字符串,然后转换或解析为一个对象。

例子 #4

代码。

<!DOCTYPE html>
<html>
<body>
<h2>Conversion of JSON string to function using parse</h2>
<p id="demo"></p>
<script>
var sampleText = '{"employeeName":"Amar", "age":"function() {return 34;}", "city":"Paris"}';
var obj = JSON.parse(sampleText);
obj.age = eval("(" + obj.age + ")");
document.getElementById("demo").innerHTML = obj.employeeName + " of age " + obj.age() + " lives in " + obj.city;
</script>
</body>
</html>

输出。

parse

由于JSON中不允许使用函数,因此我们把函数写成一个字符串,然后解析成一个函数。函数会失去其作用域;eval()可以用来转换回函数。正如JavaScript中的Json.parse()方法将JSON转换为JSON对象。JSON通常用于在服务器和网络应用中交换数据。

例子 #5

代码。

<!DOCTYPE html>
<html>
<head>
<title>Conversion of String to JSON in JavaScript</title>
</head>
<body>
<pre id="jsonData"
style="border:solid 1px #CCC;padding:0 6px;">
[{"employeeID": "101","employeeName": "Saideep","employeeType": "SSE","employer": "Infy"},{"employeeID": "102","employeeName": "Karthick","employeeType": "SE","employer": "CG"},{"employeeID": "103","employeeName": "Meghana","employeeType": "TL","employer": "PWC"}] </pre>
<p>
<input type="button" id="btnClick" value="Conversion of String to JSON" onclick="strngJson()" />
</p>
<p>Note: See the output in your browsers console window!</p>
</body>
<script>
function strngJson() {
var str = document.getElementById('jsonData').innerHTML;
var jsonObj = JSON.parse(str);
console.log(jsonObj);
}
</script>
</html>

输出。

Convert String to Json 5

Convert String to Json 6

结论

我们已经看到了字符串到JSON的转换是如何在JavaScript中完成的,以及上面的几个例子。我们能够获得在Java和Python语言中把字符串转换为JSON的理论知识。当从服务器接收数据时,数据是以字符串的形式存在的,有时这个字符串可能包含多个字段。为了使用每个字段,我们将不能以字符串的形式使用它,因此,输入字符串被解析,这样就很容易使用字符串中的嵌入字段。因此,解析输入字符串或将字符串转换为JSON在开发软件应用程序时非常有用。