试图解析JSON数据

问题描述 投票:-1回答:1

我正在使用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

c++ json jsoncpp
1个回答
0
投票

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

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

std::string d = json_data[0]["result"]["availableToBetBalance"].asString();
//                       ^^^
© www.soinside.com 2019 - 2024. All rights reserved.