gpt4 book ai didi

c++ - 从 C++ 序列化 Lua 表(通过 JSON)

转载 作者:搜寻专家 更新时间:2023-10-31 01:46:12 31 4
gpt4 key购买 nike

我想将复杂数据从 C++ 服务传送到 Lua 应用程序。这种通信发生在网络上。为了 Lua 应用程序的简单性和速度,我更愿意发送文字 Lua 表文字(不需要单独的解析器)而不是 XML 或 JSON 或 YAML 等。

虽然存在编写 JSON 的 C++ 库之类的东西,但我找不到用于创建序列化 Lua 的现有 C++ 库。那么,我的想法是使用现有的 C++ JSON 库,然后将字符串转换为 Lua。

例如,我想转换这个字符串:

{
"hello":42,
"array":[1,2,{"more":false},null,true],
"worst":"still [null]: got it?"
}

进入这个字符串:

{
["hello"]=42,
["array"]={1,2,{["more"]=false},nil,true},
["worst"]="still [null]: got it?"
}

replace_all 转换为 :=[]{} code> 和 nullnil 将破坏字符串内部的内容。我如何执行此转换?

为了避免 XY problem 的问题我在顶部和标题中包含了我的最终动机,以防 JSON->Lua 字符串转换是错误的选择。

最佳答案

我会编码 Lua -格式serializing图书馆一个人。你可以选择 free software Json C++ 库(例如 jsoncpplibjson )并很容易地调整其代码(以适应您的 Lua 格式)。

当然你应该遵守那个库的许可证,我强烈建议你让你的 Lua 格式序列化库本身成为一个免费软件,例如在 github和/或 freecode和/或 sourceforge ...

重点是 JSON (希望你的 Lua 格式)足够简单,可以很容易地解析或打印......将现有的库适应你的格式可能比“后处理”其输出更简单而且肯定更快......

关于c++ - 从 C++ 序列化 Lua 表(通过 JSON),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20978023/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com