Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Warstwa 0 (static) wycinanie elementu z bieżącego roota (do wywoływania na przemian)
- JsonGetElementFromObject(char* jsonObject, unsigned int size, JsonType_e type, void* output, unsigned int outputSize, char* elementName); // Wycina element (string) z obiektu json
- JsonGetElementFromArray (char* jsonTable, unsigned int size, JsonType_e type, void* output, unsigned int outputSize, int elementIndex); // Wycina element (string) z tablicy json
- // Warstwa 1 wycinanie elementu wg scieżki
- JsonGetElement (char* json, unsigned int size, JsonType_e type, void* output, unsigned int outputSize, char* path, ...); // Wyszukuje i wycina element o podanej ścieżce
- // Warstwa 2 strukturyzacja wycinania elementów
- typedef struct
- {
- char* path;
- JsonType_e type;
- void* output;
- unsigned int outputSize;
- }
- JsonParseInfo_t;
- JsonParse (char* json, unsigned int size, JsonParseInfo_t* parseTable); // Wywołuje JsonGetElement w pętli z parametrami podanymi w parseTable
- // Użycie strukturalne:
- char json[HTTP_RESPONSE_BUFFER_SIZE];
- char courierId[COURIER_ID_LEN + 1];
- char password[MAX_PASSWORD_LEN_ASCI_MD5 + 1];
- char sessionuuid[RAPI_MAX_UUID_LEN + 1];
- HTTPReadPostValue((BYTE*)jsonData, sizeof(jsonData));
- JsonParse_t parseTable[] =
- {
- {".login", JSON_STRING, courierId, sizeof(courierId)},
- {".password", JSON_STRING, password, sizeof(password)},
- {".uuid", JSON_STRING, sessionuuid, sizeof(sessionuuid)},
- {NULL, JSON_NONE, NULL, 0}
- }
- JsonParse(json, sizeof(json), parseTable);
- // Użycie pojedynczych funkcji
- char json[HTTP_RESPONSE_BUFFER_SIZE];
- char courierId[COURIER_ID_LEN + 1];
- char password[MAX_PASSWORD_LEN_ASCI_MD5 + 1];
- char sessionuuid[RAPI_MAX_UUID_LEN + 1];
- HTTPReadPostValue((BYTE*)jsonData, sizeof(jsonData));
- JsonGetElement(json, sizeof(json), JSON_STRING, courierId, sizeof(courierId), ".login");
- JsonGetElement(json, sizeof(json), JSON_STRING, password, sizeof(password), ".password");
- JsonGetElement(json, sizeof(json), JSON_STRING, sessionuuid, sizeof(sessionuuid), ".uuid");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement