C++ c++;读取JSON场景文件
我使用JSON作为引擎的“场景”文件;看起来是这样的:C++ c++;读取JSON场景文件,c++,regex,json,C++,Regex,Json,我使用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等的对象Volu
{
"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语法包含平衡的大括号,这使它成为一个很好的例子。正则表达式是一种用于解析更简单语言的工具,称为。看 这就是说,目前使用的大多数正则表达式引擎都包含扩展,这些扩展使它们更强大,并允许它们解析严格来说不规则的语言。这包括分析平衡的花括号 然而,完成这项工作的正则表达式将是丑陋的,可能最终依赖于不可移植的特性,并且在JSON数据结构不断变化的情况下,维护正则表达式将是一场噩梦
您应该使用适当的JSON解析器,例如..我建议使用库而不是正则表达式。它有一个很好的结构。所以我应该为每个参与者创建一个结构,然后使用迭代器遍历ptree,如果“actor”是节点名,那么创建这个结构吗?