json读取问题~(解决)

关于json的读取问题!
我想用对象模式去读取一个json,是在网上找到的一个方法,编译过了,但是就是读取数组的时候会报错,

对象是这样的

“ID”,“名称”,“血量”,“防御力”,“攻击力”,“可穿透”]
,“树”,500,100,0,0] ,“灌木”,150,50,2,1] ,“草丛”,50,20,0,1] ,“狗”,200,40,20,0] ]
代码是这样的,

http://blog.csdn.net/oowoodone/article/details/21113185#http://blog.csdn.net/oowoodone/article/details/21113185#

bool ShowJsonData2()
{ string filename=“Json_test_1.json”; rapidjson::Document doc; //判断文件是否存在
if(!FileUtils::getInstance()->isFileExist(filename)) { log(“json file is not find %s]”,filename);
return
false; } //读取文件数据,初始化doc std::string data=FileUtils::getInstance()->getStringFromFile(filename); doc.Parserapidjson::kParseDefaultFlags(data.c_str()); //判断读取成功与否 和 是否为数组类型
if (doc.HasParseError() || !doc.IsArray()) { log(“get json data err!”);
return
false; } //从第2行开始,因为第一行是属性
for(unsigned
int i=1;i<doc.Size();i++) { //逐个提取数组元素(声明的变量必须为引用) rapidjson::Value &v=doc*; *
int id;//ID string name;//名称
int hp;//血量
int Defense;//防御力
int attack;//攻击力
int passable;//是否可穿透(通行) //按下标提取
int a=0; id=v.GetInt(); name=v.GetString(); hp=v.GetInt(); Defense=v.GetInt(); attack=v.GetInt(); passable=v.GetInt(); log(A2U(“ID:%d,名称:%s,血量:%d,防御力:%d,攻击力:%d,可穿透性:%s”), id,name.c_str(),hp,Defense,attack,(passable ? “true”:“false”)); }
return
true; }
找不到那步错了,求指点

搞定了~资源错了~

楼主 有demo么 能发一下吗