如何在C++和Node.js之间进行JSON数据通信
在本文中,我们将使用JSON数据在C++和Node.js之间进行通信。我们可以使用常见的文本格式进行通信,但文本格式会包含许多复杂性。然而,JSON是轻量级且易于使用的。JSON是语言无关的,因此可以被任何编程语言使用。
使用C++进行序列化: 序列化是将编程数据转换为JSON文本的过程。在C++中,并没有内置的JSON读取库。我们需要将头文件添加到我们的项目中。您基本上需要为您的C++项目使用json.hpp文件来执行下面描述的操作。
让我们使用以下C++代码生成一个JSON文件。
C++
#include<iostream>
#include<ofstream>
#include "json.hpp"
// For convenience
using json = nlohmann::json;
using namespace std;
int main(){
json obj;
obj["Name"] = "Inshal";
obj["Roll no"] = "42";
obj["Dept"] = "CSE";
obj["cgpa"] = "7.99";
ofstream file("output.json");
file<<setw(4)<<obj<<endl;
file.close();
cout<<"JSON Object Created:";
for (auto& element : obj) {
cout << element << '\n';
}
}
输出:
JSON Object Created:{
"Name":"Inshal",
"Roll no":"42",
"Dept":"CSE",
"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"}
File Reading completed