构建json文件的格式
假设你是用$.getJSON();方法获取JSON数据
$.getJSON(url,{"Action":"getStudent"},function(data){})
$.getJSON(url,{"Action":"getStudent"},function(data){})
构建JSON数据格式一(单个对象)
{"Name":"Jime","Sex":"Boy","Birthday":"1991-12-8"}
获取方式:
data.Name
data.Sex
构建JSON数据格式二(多个对象单一类型,匿名)
[{"Name":"Jime","Sex":"Boy","Birthday":"1991-12-8"},{"Name":"Jary","Sex":"Boy","Birthday":"1990-12-8"}]
获取方式:
data[0].Name;
构建JSON数据格式三(多个对象单一类型,命名)
{"Stutent":[{"Name":"Jime","Sex":"Boy","Birthday":"1991-12-8"},{"Name":"Jary","Sex":"Boy","Birthday":"1990-12-8"}]}
获取方式:
data.Student[0].Name
构建JSON数据格式四(多个对象多个类型)
{"Stutent":[{"Name":"Jime","Sex":"Boy","Birthday":"1991-12-8"},{"Name":"Jary","Sex":"Boy","Birthday":"1990-12-8"}],"Class":
{"Name":"三年级一班"}}
获取方式:
data.Student[0].Name
data.Class.Name
{"Name":"Jime","Sex":"Boy","Birthday":"1991-12-8"}
获取方式:
data.Name
data.Sex
构建JSON数据格式二(多个对象单一类型,匿名)
[{"Name":"Jime","Sex":"Boy","Birthday":"1991-12-8"},{"Name":"Jary","Sex":"Boy","Birthday":"1990-12-8"}]
获取方式:
data[0].Name;
构建JSON数据格式三(多个对象单一类型,命名)
{"Stutent":[{"Name":"Jime","Sex":"Boy","Birthday":"1991-12-8"},{"Name":"Jary","Sex":"Boy","Birthday":"1990-12-8"}]}
获取方式:
data.Student[0].Name
构建JSON数据格式四(多个对象多个类型)
{"Stutent":[{"Name":"Jime","Sex":"Boy","Birthday":"1991-12-8"},{"Name":"Jary","Sex":"Boy","Birthday":"1990-12-8"}],"Class":
{"Name":"三年级一班"}}
获取方式:
data.Student[0].Name
data.Class.Name
cocos2d-x 读取json
- #include "HelloWorldScene.h"
- #include "json/document.h"
- Scene* HelloWorld::createScene()
- {
- auto scene = Scene::create();
- auto layer = HelloWorld::create();
- scene->addChild(layer);
- return scene;
- }
- bool HelloWorld::init()
- {
- if ( !Layer::init() )
- {
- return false;
- }
- Size visibleSize = Director::getInstance()->getVisibleSize();
- Vec2 origin = Director::getInstance()->getVisibleOrigin();
- pLabel = LabelTTF::create("", "Arial", 30);
- pLabel->setPosition(visibleSize/2.0);
- this->addChild(pLabel);
- this->readJsonByCocosAPI();
- return true;
- }
- void HelloWorld::readJsonByCocosAPI()
- {
- rapidjson::Document doc;
- doc.Parse<0>(FileUtils::getInstance()->getStringFromFile("data.json").c_str());
- // 获得第一个对象的name和age的属性
- int index = 0;
- const char *ch = doc[index]["name"].GetString();
- int iage = doc[index]["age"].GetInt();
- std::ostringstream str;
- str << "name:";
- str << ch;
- str << ",";
- str << "age:";
- str << iage;
- pLabel->setString(str.str());
- // 遍历json数组
- for (int i = 0; i < doc.Size(); i ++)
- {
- const char *name= doc[i]["name"].GetString();
- int age = doc[i]["age"].GetInt();
- log("name:%s, age:%d", name, age);
- }
- }

浙公网安备 33010602011771号