2012-03-28 86 views
4

我有以下的JSON结构。JSON到C++结构

{ 
"name": "abc", 
"city": "holland", 

"links": [ 
    { 
     "href": "/city/holland/1", 
     "method": "GET", 
     "rel": "edit", 
     "type": "application/holland.citydata+json" 
    }, 
    links": [ 
    { 
     "href": "/city/holland/2", 
     "method": "GET", 
     "rel": "self", 
     "type": "application/holland.citydata+json" 
    }, 

], 

我已经使用一些解析器解析了这个json响应。现在我想将它转换为C++结构对象。

typedef struct json_object; 
struct json_object { 

char name; 
char city; }; 

我具有由通过JasonParser响应循环我object.How可以在结构acheive该读取中的每个链路的每个href的值。

我应该使用链接列表吗?我怎么能在结构中做到这一点?

有人请举例。

回答

2

这就是我该怎么做的。

struct Link { 
    std::string href; 
    std::string method; 
    std::string rel; 
    std::string type; 
}; 

struct JSONObject { 
    std::string name; 
    std::string city; 
    std::vector<Link> links; 
}; 

根据您的使用方式,您可以细化一下。

enum Method { 
    GET 
    ,POST 
}; 

这可能是合理的,但我认为字符串是足够的表现力,直到他们让你的方式。

+0

非常感谢。这正是我正在寻找的。 – user1029083 2012-03-28 01:30:21