如何在Java和 Node.js 之间传递 JSON 数据?
所以在这里我们将使用 JSON 在两个名为Java和 Node.js 的程序之间进行通信。我们可以使用通用的文本格式进行交流,但文本格式会包含很多复杂性。然而,JSON 是轻量级且易于使用的。 JSON 与语言无关,因此可以被任何编程语言使用。
使用Java进行序列化:序列化是将编程数据转换为 JSON 文本的过程。在Java中,没有用于 JSON 阅读器的内置库。我们需要在我们的成绩项目中添加一个依赖项或下载 jar 文件。我们有 Jackson 和 simple-json 库。这里使用了 simple-json 库。
让我们使用Java代码生成一个 JSON 文件,如下所示。
Java
import org.json.simple.JSONObject;
import java.io.FileWriter;
import java.io.IOException;
public class MyClass {
public static void main(String args[]) {
JSONObject obj = new JSONObject();
obj.put("name", "Inshal Khan");
obj.put("Roll no", new Integer(42));
obj.put("cgpa", new Double(7.99));
try {
FileWriter file = new FileWriter("E:/output.json");
file.write(obj.toJSONString());
file.close();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("JSON file created: "+jsonObject);
}
}
Javascript
'use strict';
const fs = require('fs');
fs.readFile('output.json', (err, data) => {
if (err) throw err;
let obj = JSON.parse(data);
console.log(obj);
});
console.log('File Reading completed');
输出:
JSON file created:{
"name":"Inshal Khan",
"Roll no":"42",
"cgpa":"7.99"}
使用 Node.js 进行反序列化:
Javascript
'use strict';
const fs = require('fs');
fs.readFile('output.json', (err, data) => {
if (err) throw err;
let obj = JSON.parse(data);
console.log(obj);
});
console.log('File Reading completed');
输出:
JSON file created:{
"name":"Inshal Khan",
"Roll no":"42",
"cgpa":"7.99"}