如何在C++和Node.js之间进行JSON数据通信

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程