В моем классе C ++ есть строка json, которую я преобразовал в SV и вернул в свой модуль perl как скаляр. Я разбираю этот скаляр и преобразую его в json в моем модуле perl.
Вместо этого я хочу преобразовать строку json в HV или perl-хэш в моем классе C ++ и вернуть его в качестве perl-хеша в мой perl-модуль. Есть ли простой способ сделать это.
Я наконец хочу преобразовать эту строку json c в объект JSON;
Пример:
В моем test.cpp у меня есть
std::string json = '{"A":123,"B":"ABC"}';
Я конвертирую его в SV (Perl Scalar) и отправляю его в мой Perl-скрипт.
В моем test.pl я использую JSON :: XS для кодирования и декодирования его либо в perl-хэш, либо в 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. Но в этом случае анализ строки c ++ в кодировке json стоит дорого, потому что моя строка может быть очень длинной структурой json.
но вместо этого
Заранее спасибо!!
Задача ещё не решена.
Других решений пока нет …