JSMNライブラリ実装の下。着信JSONメッセージの "command"、 "rf_type"、 "Filter"を検索します。これで、抽出された文字列が自動的に印刷されます。私はそれを別の変数に渡し、その文字列を別の関数で使用する必要があります。Cでの文字列の抽出
スタート - >この場合、変数に印刷された文字列を取る方法を導くことができるエンド>別の機能 - に渡す> JSON-から
いずれかのコマンドを抽出
printf("===============================\n");
for (i = 1; i < r; i++) {
if (jsoneq(JSON_STRING, &t[i], "command") == 0)
{
printf("- command: %.*s\n", t[i+1].end-t[i+1].start,
JSON_STRING + t[i+1].start);
i++;
}
else if (jsoneq(JSON_STRING, &t[i], "rf_type") == 0)
{
printf("- rf_type: %.*s\n", t[i+1].end-t[i+1].start,
JSON_STRING + t[i+1].start);
i++;
}
else if (jsoneq(JSON_STRING, &t[i], "filter") == 0)
{
printf("- filter: %.*s\n", t[i+1].end-t[i+1].start,
JSON_STRING + t[i+1].start);
i++;
}
else
{
printf("Unexpected messages HUB_HCI: %.*s\n", t[i].end-t[i].start,
JSON_STRING + t[i].start);
}
}
return 1;
バッファに "印刷"するには(http://pubs.opengroup.org/onlinepubs/9699919799/functions/fprintf.html)(またはC99実装の場合は 'snprintf')[' sprintf']できます。 – pmg