gpt4 book ai didi

c++读取JSON场景文件

转载 作者:行者123 更新时间:2023-11-28 07:33:49 25 4
gpt4 key购买 nike

我将 JSON 用于我的引擎的“场景”文件;它看起来像这样:

{
"thorium": {
"name" : "JustAnotherMap",
"desc" : "A Map file",

"actor": {
"type" : "Volume",
"name" : "m_pActor1",
"rotation" : "0.0 0.0 0.0",
"position" : "0.0 0.0 0.0"
}
}
}

所以我希望能够阅读此内容,例如,创建名为 m_pActor1 的对象 VolumeActor 等。这是一个正则表达式作业吗?我看到了很多相互矛盾的信息,所以我不太确定如何处理这个问题。

最佳答案

JSON 语法包含平衡的大括号,这使它成为 context-free language .正则表达式是一种用于解析称为 regular languages 的更简单语言的工具。 .参见 Chomsky hierarchy .

也就是说,当今使用的大多数正则表达式引擎都包含扩展,这些扩展使它们更强大,并允许它们解析非严格正则的语言。这包括平衡花括号的解析。

但是,完成这项工作的正则表达式会很丑陋,最终可能会依赖于不可移植的特性,并且在面对不断变化的 JSON 数据结构时进行维护将是一场噩梦。

您应该使用合适的 JSON 解析器,例如the one from Boost .

关于c++读取JSON场景文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17131800/

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