试图解析JSON数据

时间:2018-03-02 12:07:25

标签: c++ json jsoncpp

我正在使用curl和JsonCpp(https://github.com/open-source-parsers/jsoncpp)编写C ++代码。 Json :: parseFromStream返回以下数据:

Funds: [
        {
                "id" : 1,
                "jsonrpc" : "2.0",
                "result" :
                {
                        "availableToBetBalance" : 437.91000000000003,
                        "discountRate" : 4.0,
                        "exposure" : 0.0,
                        "exposureLimit" : -5000.0,
                        "pointsBalance" : 3135,
                        "retainedCommission" : 0.0,
                        "wallet" : "UK"
                }
        }
]

如何提取availableToBetBalance-我尝试过这样的事情:

std::string d = json_data["result.availableToBetBalance"].asString();

std::string d = json_data["result"]["availableToBetBalance"].asString();

后者抛出异常:在Json :: Value :: resolveReference(key,end)中:需要objectValue

1 个答案:

答案 0 :(得分:0)

您忽略了数组图层,由外部[]字符表示。

在这种特殊情况下,您要查找的数据位于数组的第一个(也是唯一的)元素中,因此:

std::string d = json_data[0]["result"]["availableToBetBalance"].asString();
//                       ^^^