#c #json
#c #json
Вопрос:
Вот файл json, над которым я работаю —
{
"statuses": [{
"metadata": {
"result_type": "recent",
"iso_language_code": "ja"
},
"created_at": "Sun Aug 31 00:29:15 0000 2014",
"id": 505874924095815700,
"id_str": "505874924095815681",
"text": "@aym0566x nn名前:前田あゆみn第一印象:なんか怖っ!n今の印象:とりあえずキモい。噛み合わないn好きなところ:ぶすでキモいとこyumsparklessparklesn思い出:んーーー、ありすぎblushheartnLINE交換できる?:あぁ……ごめんhandnトプ画をみて:照れますがなkissing_heartsparklesn一言:お前は一生もんのダチsparkling_heart",
"source": "<a href="http://twitter.com/download/iphone" rel="nofollow">Twitter for iPhone",
"truncated": false,
"in_reply_to_status_id": null,
"in_reply_to_status_id_str": null,
"in_reply_to_user_id": 866260188,
"in_reply_to_user_id_str": "866260188",
"in_reply_to_screen_name": "aym0566x",
"user": {
"id": 1186275104,
"id_str": "1186275104",
"name": "AYUMI",
"screen_name": "ayuu0123",
"location": "",
"description": "元野球部マネージャー❤︎…最高の夏をありがとう…❤︎",
"url": null,
"entities": {
"description": {
"urls": []
}
}
}
}]
}
Используя пример кода simdjson, я смог проанализировать весь файл json, но при поиске объекта и его значения я не смог выполнить поиск, он просто не показывает такого объекта / значения объекта.
Пожалуйста, помогите мне с кодом, как и что делать.
Вот код
#include "simdjson.h"
int main(void) {
simdjson::dom::parser parser;
simdjson::dom::element tweets = parser.load("twitter.json");
std::cout << "Value of ID " << tweets["statuses"]["id"] << std::endl;
}
Вот результат, который я получаю
~/simdjson-master$ c strt.cpp simdjson.cpp
~/simdjson-master$ ./a.out
terminate called after throwing an instance of 'simdjson::simdjson_error'
what(): The JSON element does not have the requested type.
Aborted (core dumped)
Это результат, который я ожидаю
~/simdjson-master$ c strt.cpp simdjson.cpp
~/simdjson-master$ ./a.out
Value of ID 505874924095815700
Комментарии:
1.
statuses
является массивом.tweets["statuses"][0]["id"]
2. @Cid Я пробовал это, но это показывает
Segmentation fault (core dumped)
3. Затем вам следует использовать отладчик, чтобы выяснить, что не так.
4. Я бы посоветовал обратиться непосредственно к сопровождающим проекта, поскольку это похоже на копирование / вставку их примера…
5. Нашел свою ошибку, это было
std::cout << tweets["statuses"].at(0)["id"] << std::endl;