Giter Site home page Giter Site logo

about_rapidjson's Introduction

RapidJson


  • String 형태의 JSON 파싱

    int main() {
        const char* json = "{\"project\":\"rapidjson\",\"stars\":10}";
    
        Document d;
        d.Parse(json); // String 형태의 JSON 객체화
    
        printf("%s\n", d["project"].GetString()); // project 키의 String Value 출력
        return 0;
    }
    rapidjson
    

  • JSON 객체 생성, 문자열화(stringify)

    int main() {
        Document d;
        d.SetObject(); // Document 를 Object로 초기화
    
        Value v(true);
        d.AddMember("bool_member", v, d.GetAllocator()); //메인 Object에 bool_member: true인 member 추가
    
        Value player_arr(kArrayType); // JSON Array 생성
        for (int i = 0; i < 8; i++) {
            Value curr_player_obj(kObjectType); // Array에 들어갈 객체 생성
    
            curr_player_obj.AddMember("index", Value(i), d.GetAllocator()); // 객체에 index: i인 member 추가
    
            char curr_player_name[256];
            sprintf_s(curr_player_name, "%c%c%c", 'a' + i, 'a' + i, 'a' + i); // AAA, BBB, CCC, ... 형태의 임의의 이름 생성
            Value name_val = Value();
            name_val.SetString(curr_player_name, strlen(curr_player_name), d.GetAllocator()); // Value에 문자열 할당
            curr_player_obj.AddMember("Name", name_val, d.GetAllocator()); // Name: 임의의 이름인 member 추가
    
            player_arr.PushBack(curr_player_obj, d.GetAllocator()); // JSON Array 끝에 현재 Player 객체 추가
        }
        d.AddMember("players", player_arr, d.GetAllocator()); // 메인 Object의 player에 JSON Array 할당
    
        StringBuffer out_buf;
        Writer<StringBuffer> writer(out_buf);
        d.Accept(writer); // Document 문자열화
        printf("%s\n", out_buf.GetString()); // 출력
    
        return 0;
    }
    {"bool_member":true,"players":[{"index":0,"Name":"aaa"},{"index":1,"Name":"bbb"},{"index":2,"Name":"ccc"},{"index":3,"Name":"ddd"},{"index":4,"Name":"eee"},{"index":5,"Name":"fff"},{"index":6,"Name":"ggg"},{"index":7,"Name":"hhh"}]}
    

about_rapidjson's People

Contributors

kks00 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.