Example #1
0
static void parse_json_youtube(char * data, struct youtube_t * youtube)
{
    json_value * root, * title, * _t, * rating, * viewcount;

    root = json_parse(data);

    title = n_json_find_object(root, "title");

    if (!title) return;

    _t = n_json_find_object(title, "$t");
    strcpy(youtube->title, _t->u.string.ptr);

    rating = n_json_find_object(root, "average");
    if (!rating) return;
    youtube->rating = rating->u.dbl;

    viewcount = n_json_find_object(root, "viewCount");

    if (!viewcount) return;
    strcpy(youtube->view_count, viewcount->u.string.ptr);

    youtube->valid = 1;

    json_value_free(root);
}
Example #2
0
static void parse_json_event(char * body, char * dest)
{
    json_value * root, * payload, * comitter_name, * message, *name, * sha;

    //sanitize_json_response(body);
    root = json_parse(body);
    if (!root) return;

    if (!(payload = n_json_find_object(root, "payload"))) return;
    if (!(comitter_name = n_json_find_object(payload, "name"))) return;
    if (!(message = n_json_find_object(payload, "message"))) return;
    if (!(name = n_json_find_object(root, "name"))) return;
    if (!(sha = n_json_find_object(payload, "sha"))) return;

    sprintf(dest, "* Commiter: [%s] - Msg: [%s] Url: [http://github.com/%s/commit/%s]", 
                                  comitter_name->u.string.ptr,
                                  message->u.string.ptr,
                                  name->u.string.ptr,
                                  sha->u.string.ptr);
    json_value_free(root);
}