使用 C++ REST SDK 从文件读取 JSON (卡萨布兰卡)

2023-12-30

我有以下代码,它应该读取文本文件的内容并将其解析为 JSON

            try {
                string_t        importFile = argv[++iArgCounter];           // extract filename
                ifstream_t      f(importFile);                              // filestream of working file
                stringstream_t  s;                                          // string stream for holding JSON read from file
                json::value     v;                                          // JSON read from input file

                iArgCounter++;                                              // increment arg counter
                if (f) {                                                    
                    s << f.rdbuf();                                         // stream results of reading from file stream into string stream
                    f.close();                                              // close the filestream

                    v.parse(s);                                             // parse the resultant string stream.
                }
            }
            catch (web::json::json_exception excep) {
                std::cout << "ERROR Parsing JSON: ";
                std::cout << excep.what();
                break;
            }

以及以下测试 JSON 文件

[
    {
        "Destinations":
            [
                {
                    "Domain": "127.0.0.1",
                    "Name": "GoogleLogin",
                    "Port": "8090"
                }
            ],
        "Listeners":
            [
                {
                    "Domain": "127.0.0.1",
                    "Name": "LoginRequest",
                    "Port": "8080",
                    "Route": "ProcessLoginRequest"
                }
            ],
        "Name": "LoginProcess",
        "Routes":
            [
            {
                "Name": "ProcessLoginRequest",
                "Rules":
                    [{
                        "DestinationIfTrue": "GoogleLogin",
                        "LeftTerm":
                            {
                                "RuleTermType": 1,
                                "Value": "NETWORK"
                            },
                        "Operator": 2,
                        "RightTerm":
                            {
                                "RuleTermType": 0,
                                "Value": "NETWORK"
                            }
                    }],
                "Transformations": []
            }
            ]
    }
]

问题是,无论 JSON 代码是什么,我都会收到错误“第 1 行,第 2 列语法错误:格式错误的令牌”。据我所知,JSON 的格式正确,所有括号都是平衡的。

代码在 64 位 Windows 7 上运行。

任何人都知道为什么它会这样想(或者我如何将 stringstream_t 转换为字符串并查看它实际读取的内容)。


改变线路

v.parse(s);

to

 v = json::value::parse(s)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 C++ REST SDK 从文件读取 JSON (卡萨布兰卡) 的相关文章

  • 如何将 std::string& 转换为 C# 引用字符串

    我正在尝试将 C 函数转换为std string参考C 我的 API 如下所示 void GetStringDemo std string str 理想情况下 我希望在 C 中看到类似的东西 void GetStringDemoWrap r
  • 在模板类中声明模板友元类时出现编译器错误

    我一直在尝试实现我自己的链表类以用于教学目的 我在迭代器声明中指定了 List 类作为友元 但它似乎无法编译 这些是我使用过的 3 个类的接口 Node h define null Node
  • 根据属性的类型使用文本框或复选框

    如果我有这样的结构 public class Parent public string Name get set public List
  • 通过引用传递 [C++]、[Qt]

    我写了这样的东西 class Storage public Storage QString key const int value const void add item QString int private QMap
  • 机器Epsilon精度差异

    我正在尝试计算 C 中双精度数和浮点数的机器 epsilon 值 作为学校作业的一部分 我在 Windows 7 64 位中使用 Cygwin 代码如下 include
  • std::list 线程push_back、front、pop_front

    std list 线程安全吗 我假设不是这样 所以我添加了自己的同步机制 我认为我有正确的术语 但我仍然遇到问题 每个函数都由单独的线程调用 Thread1 不能等待 它必须尽可能快 std list
  • C++11 删除重写方法

    Preface 这是一个关于最佳实践的问题 涉及 C 11 中引入的删除运算符的新含义 当应用于覆盖继承父类的虚拟方法的子类时 背景 根据标准 引用的第一个用例是明确禁止调用某些类型的函数 否则转换将是隐式的 例如最新版本第 8 4 3 节
  • 人脸 API DetectAsync 错误

    我想创建一个简单的程序来使用 Microsoft Azure Face API 和 Visual Studio 2015 检测人脸 遵循 https social technet microsoft com wiki contents ar
  • 两个静态变量同名(两个不同的文件),并在任何其他文件中 extern 其中一个

    在一个文件中将变量声明为 static 并在另一个文件中进行 extern 声明 我认为这会在链接时出现错误 因为 extern 变量不会在任何对象中看到 因为在其他文件中声明的变量带有限定符 static 但不知何故 链接器 瑞萨 没有显
  • C# 动态/expando 对象的深度/嵌套/递归合并

    我需要在 C 中 合并 2 个动态对象 我在 stackexchange 上找到的所有内容仅涵盖非递归合并 但我正在寻找能够进行递归或深度合并的东西 非常类似于jQuery 的 extend obj1 obj2 http api jquer
  • 复制目录下所有文件

    如何将一个目录中的所有内容复制到另一个目录而不循环遍历每个文件 你不能 两者都不Directory http msdn microsoft com en us library system io directory aspx nor Dir
  • 如何实例化 ODataQueryOptions

    我有一个工作 简化 ODataController用下面的方法 public class MyTypeController ODataController HttpGet EnableQuery ODataRoute myTypes pub
  • 如何在 Linq to SQL 中使用distinct 和 group by

    我正在尝试将以下 sql 转换为 Linq 2 SQL select groupId count distinct userId from processroundissueinstance group by groupId 这是我的代码
  • C 函数 time() 如何处理秒的小数部分?

    The time 函数将返回自 1970 年以来的秒数 我想知道它如何对返回的秒数进行舍入 例如 对于100 4s 它会返回100还是101 有明确的定义吗 ISO C标准没有说太多 它只说time 回报 该实现对当前日历时间的最佳近似 结
  • 编译时展开 for 循环内的模板参数?

    维基百科 here http en wikipedia org wiki Template metaprogramming Compile time code optimization 给出了 for 循环的编译时展开 我想知道我们是否可以
  • 在 WPF 中使用 ReactiveUI 提供长时间运行命令反馈的正确方法

    我有一个 C WPF NET 4 5 应用程序 用户将用它来打开某些文件 然后 应用程序将经历很多动作 读取文件 通过许多插件和解析器传递它 这些文件可能相当大 gt 100MB 因此这可能需要一段时间 我想让用户了解 UI 中发生的情况
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • C# 中的 IPC 机制 - 用法和最佳实践

    不久前我在 Win32 代码中使用了 IPC 临界区 事件和信号量 NET环境下场景如何 是否有任何教程解释所有可用选项以及何时使用以及为什么 微软最近在IPC方面的东西是Windows 通信基础 http en wikipedia org
  • 指针和内存范围

    我已经用 C 语言编程有一段时间了 但对 C 语言还是很陌生 有时我对 C 处理内存的方式感到困惑 考虑以下有效的 C 代码片段 const char string void where is this pointer variable l
  • 类型或命名空间“MyNamespace”不存在等

    我有通常的类型或命名空间名称不存在错误 除了我引用了程序集 using 语句没有显示为不正确 并且我引用的类是公共的 事实上 我在不同的解决方案中引用并使用相同的程序集来执行相同的操作 并且效果很好 顺便说一句 这是VS2010 有人有什么

随机推荐

  • 将手势识别器应用到导航栏时遇到问题

    在我的 iPad 应用程序中 我的屏幕上有多个视图 我想要做的是将双击手势识别器应用到导航栏 但我没有成功 但是当相同的手势识别器应用于该视图时它就可以工作了 这是我正在使用的代码 Create gesture recognizer not
  • 如何在 Maven 2 中的两个测试套件之间切换?

    我们正在使用maven surefire 插件 http maven apache org plugins maven surefire plugin 运行我们的 Java 测试 测试分为两类 快速测试 测试缓慢 整个 快速 套件只需几秒钟
  • 理解和使用复制赋值构造函数

    我试图了解复制赋值构造函数在 C 中的工作原理 我只使用过java 所以我真的对此一无所知 我读过并发现返回参考文献是一个很好的做法 但我不知道应该如何做到这一点 我写了这个小程序来测试这个概念 主要 cpp include
  • 计算文件中的空白行数

    In 计算 bash 中的 非空白 代码行数 https stackoverflow com questions 114814 count non blank lines of code in bash他们解释了如何计算非空行的数量 但是有
  • 调用线程必须是STA

    我正在尝试模拟射弹 并尝试仅在定时事件中创建标签一次 因为它的参数中有一个我需要在定时事件中的对象 但是当我运行它时出现这个线程错误 请帮助 我的代码是 void onTimedEvent Object source ElapsedEven
  • 无法连接到服务器: dial tcp [::1]:8080: connectex: 由于目标机器主动拒绝而无法建立连接

    我正在研究 Azure Kubernetes 我们可以在 Azure 中存储 Docker 映像 我正在尝试检查我的 kubectl 版本 然后我得到 无法连接到服务器 拨打 tcp 1 8080 connectex 否 由于目标机器主动拒
  • 有人有 ERD 符号快速参考吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一页快速参考或备忘单 最好是 PDF 格式 以了解 Crowsfoot Martin 表示法
  • isset() 和 array_key_exists() 有什么区别? [复制]

    这个问题在这里已经有答案了 以下两个函数调用如何比较 isset a key array key exists key a array key exists https www php net manual function array k
  • 如何在 WPF 中使用 XAML 设置 ComboBox 标头

    过去几天我一直试图为我的组合框创建标题 但我似乎找不到方法 到目前为止我发现的所有内容都无法在我的模型中实现 我不得不说我对数据绑定的了解很薄弱 我一直在认真阅读它 我创建了一个组合框并用来自不同数据库的数据填充它 然后 我使用转换器连接相
  • PHP - 将变量传递给类

    我正在尝试学习 OOP 并且我已经完成了这门课 class boo function boo another class some normal variable some normal variable another class gt
  • 将图像对齐到段落 css 的右侧

    我想将图像与段落的右侧对齐 并且我希望能够这样做 而不必在段落上设置固定宽度以及远离图像的一些填充 我怎样才能做到这一点 https jsfiddle net mnakoajk https jsfiddle net mnakoajk box
  • ios9 无法加载资源

    当我在 ios9 中调用我的 api 时遇到此错误 但在 ios8 中工作正常 无法加载资源 因为应用程序传输安全策略需要使用安全连接 ios9 您需要在 plist 中添加一个标志 更多信息请访问https forums develope
  • 使用 MSBuild 进行 ClickOnce 部署 -> 如何传递应用程序版本/或自动增量的当前内部版本号

    我们有一个使用 ClickOnce 部署的 Outlook 加载项 一旦开发人员签入构建 PC 就会对构建进行排队 并将应用程序发布到共享驱动器上的某个位置 问题在于 构建不会将发布版本更改为当前程序集版本 因此它会在先前版本的文件夹中发布
  • Android Google+ 集成 - 重复 UserRecoverableAuthException

    我们已就此事联系了 Google 并且我们正在聊天 https chat stackoverflow com rooms 33772 discussion between lee and arkaaito 该问题似乎已针对设备修复excep
  • DeleteD 会自动取消选择对象吗?

    我是否总是需要调用 SelectObject 将原始对象恢复到 DC 并使我的对象可供删除 即使我无论如何都要删除 DC e g Create DC HBITMAP hBitmap CreateCompatibleBitmap hDC re
  • 安装 R3.3 的 udunits2 软件包

    我只是浪费了一整天的时间试图弄清楚如何安装 udunits2 软件包以便能够安装units 软件包以便能够安装ggforce 和ggraph 软件包 我尝试在 Ubuntu 16 04 和 R gt 3 3 上安装它 因为 ggforce
  • .NET 上 C# 的模拟工具 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我是 C NET 新手 但我从事 TDD 已经有一段时间了 我想知道在 C 中编写测试时可用于模拟对象
  • 可执行文件中的函数地址(由 objdump 检查)与 printf 打印的同一函数的地址不匹配。幕后发生了什么?

    我使用的是 Ubuntu 22 04 3 x86 64 系统 我知道虚拟内存和页面一般是如何工作的 我也知道系统可以使用 ASLR 不过我想知道在这个特定场景下 Ubuntu 系统到底会发生什么 我在名为 test c 的文件中有这个小程序
  • 根据缩放级别渲染 QGraphicsScene

    有没有一种 快速 方法可以根据视图缩放级别仅渲染 GraphicsScene 项目的子集 我有一个包含许多网格线的大场景 当缩放更改以避免 网格完全填充场景 效果时 我想隐藏 显示其中一些网格线 网格线是使用QGraphicsScene的a
  • 使用 C++ REST SDK 从文件读取 JSON (卡萨布兰卡)

    我有以下代码 它应该读取文本文件的内容并将其解析为 JSON try string t importFile argv iArgCounter extract filename ifstream t f importFile filestr