📜  如何在Java和 Node.js 之间传递 JSON 数据?

📅  最后修改于: 2022-05-13 01:56:22.976000             🧑  作者: Mango

如何在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"}