【问题标题】:c++ how to process the argu which uncertain type?c++如何处理不确定类型的argu?
【发布时间】:2012-08-03 03:07:17
【问题描述】:

有一个输出json格式的web api:

{"ret":0}

c++程序可以得到“ret”的值,它是一个INT类型。

但是如果修改api,输出到这个:

{"ret":"0"}

c++程序运行错误。

如果 "ret" 的值是不确定类型,可能是 INT 或可能是 STRING 怎么办? 有没有办法在c++中处理不确定的类型值?

【问题讨论】:

  • 由于 C++ 没有解析 JSON 的标准方法,我假设您使用的是 API。这是什么?
  • 看看boost::any
  • c++代码使用“json.org”提供的第三方库来解析JSON
  • json.org 不提供任何库,它只是列出了可用的库。 您使用什么 API?.

标签: c++ json


【解决方案1】:

不,C++ 是statically-typed language。我认为您应该针对不应更改的 API 数据类型进行编码。人们普遍认为,如果 API 发生变化,那么调用该 API 的代码也必须更改。

【讨论】:

    【解决方案2】:

    您可以将正则表达式用于不同的情况。

    比如检查你的输入是否有两个 "

    【讨论】:

    • 谢谢,但我不认为 Regex 是一个好方法,我的意思是 C++ 中是否存在不确定的类型变量,例如 C# 或 JAVA 中的“对象”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多