1

我的 C++ 类中有一个 json 字符串,我将其转换为 SV 并作为标量返回到我的 perl 模块。我正在解析这个标量并将其转换为我的 perl 模块中的 json。

相反,我想在我的 C++ 类本身中将 json 字符串转换为 HV 或 perl 散列,并将其作为 perl 散列返回给我的 perl 模块。有没有一种简单的方法可以做到这一点。

我终于想把这个 json c 字符串转换为 JSON 对象;

例子:

在我的 test.cpp 我有

std::string json = '{"A":123,"B":"ABC"}';

我将其转换为 SV(perl 标量)并将其发送到我的 perl 脚本。

在我的 test.pl 中,我使用 JSON::XS 将其编码和解码为 perl hash 或 json。

use JSON::XS;

my $perl_hash_or_arrayref  = decode_json $utf8_encoded_json_text;
my $utf8_encoded_json_text = encode_json $perl_hash_or_arrayref;

实际上,我正在寻找的是将 json 编码的 c++ 字符串转换为原生 json 并将其返回到我的 perl 模块。我不确定这是否可能。我知道的一种解决方案是解析 json 编码字符串并将其转换为 perl 哈希并将其发送到 perl 模块,然后 perl 模块将其转换为本机 json。但在这种情况下,解析 json 编码的 c++ 字符串的成本很高,因为我的字符串可能是一个非常长的 json 结构。

但不是这个

  1. 有没有一种简单的方法可以从我的 c++ 文件中返回一个 perl 哈希($perl_hash_or_arrayref)。
  2. 或从 c++ 文件返回 json($perl_hash_or_arrayref)。

提前致谢!!

4

0 回答 0