{
"MSGCODE":"RCP",
"RESULT":"0",
"REASON":"complete",
"ACCNO":"",
"TAMOUNT":"0.00",
"TMKTVALUE":"0.00",
"PAGE":"1",
"NEXTPAGE":"2",
"COUNT":"2",
"STOCKLISTS":
[
{
"STOCKSYMBOL":"",
"GRADE":"",
"SECURITYTYPE":"",
"MARGINRATE":"0",
"ACTUALVOLUME":"0",
"AVGCOST":"0.000000",
"AMOUNT":"0.00",
"LASTPRICE":"0.00",
"MKTVALUE":"0.00",
"MR":"0.00"
},
{
"STOCKSYMBOL":"",
"GRADE":"",
"SECURITYTYPE":"",
"MARGINRATE":"0",
"ACTUALVOLUME":"0",
"AVGCOST":"0.000000",
"AMOUNT":"0.00",
"LASTPRICE":"0.00",
"MKTVALUE":"0.00",
"MR":"0.00"
}
]
}
/**
* sample.c
*
* Created on: Jun 2, 2017
* Description : https://json-c.github.io/json-c/json-c-0.10/doc/html/json__object_8h.html
*/
#include <json/json.h>
#include
#include
char buf[1204L * 128L];
int main(int argc, char *argv[])
{
FILE *fp = fopen(argv[1], "r");
if(NULL == fp)
{
fprintf(stderr, "fopen() failed");
return -1;
}
int n = fread(buf, 1, sizeof(buf), fp);
buf[n] = 0;
struct json_object *jobj;
jobj = json_tokener_parse(buf);
if(NULL == jobj) {
return -1;
}
char KEY[100], SUBKEY[100];
memset(KEY, 0x00, sizeof(KEY));
strcpy(KEY, "MSGCODE");
printf("[%s][%s]\n", KEY, json_object_get_string(json_object_object_get(jobj, KEY)) );
memset(KEY, 0x00, sizeof(KEY));
strcpy(KEY, "RESULT");
printf("[%s][%s]\n", KEY, json_object_get_string(json_object_object_get(jobj, KEY)) );
memset(KEY, 0x00, sizeof(KEY));
strcpy(KEY, "REASON");
printf("[%s][%s]\n", KEY, json_object_get_string(json_object_object_get(jobj, KEY)) );
memset(KEY, 0x00, sizeof(KEY));
strcpy(KEY, "ACCNO");
printf("[%s][%s]\n", KEY, json_object_get_string(json_object_object_get(jobj, KEY)) );
memset(KEY, 0x00, sizeof(KEY));
strcpy(KEY, "TAMOUNT");
printf("[%s][%s]\n", KEY, json_object_get_string(json_object_object_get(jobj, KEY)) );
memset(KEY, 0x00, sizeof(KEY));
strcpy(KEY, "TMKTVALUE");
printf("[%s][%s]\n", KEY, json_object_get_string(json_object_object_get(jobj, KEY)) );
memset(KEY, 0x00, sizeof(KEY));
strcpy(KEY, "PAGE");
printf("[%s][%s]\n", KEY, json_object_get_string(json_object_object_get(jobj, KEY)) );
memset(KEY, 0x00, sizeof(KEY));
strcpy(KEY, "NEXTPAGE");
printf("[%s][%s]\n", KEY, json_object_get_string(json_object_object_get(jobj, KEY)) );
memset(KEY, 0x00, sizeof(KEY));
strcpy(KEY, "COUNT");
printf("[%s][%s]\n", KEY, json_object_get_string(json_object_object_get(jobj, KEY)) );
struct json_object *pdata = NULL;
if(json_object_object_get_ex(jobj, "STOCKLISTS", &pdata))
{
int i;
for (i = 0; i < json_object_array_length(pdata); i++)
{
struct json_object *tmp = json_object_array_get_idx(pdata, i);
printf("-----------------------------------\n");
memset(KEY, 0x00, sizeof(KEY));
strcpy(KEY, "STOCKSYMBOL");
printf("[%.3d][%s][%s]\n", i + 1, KEY, json_object_get_string(json_object_object_get(tmp, KEY)) );
memset(KEY, 0x00, sizeof(KEY));
strcpy(KEY, "GRADE");
printf("[%.3d][%s][%s]\n", i + 1, KEY, json_object_get_string(json_object_object_get(tmp, KEY)) );
memset(KEY, 0x00, sizeof(KEY));
strcpy(KEY, "SECURITYTYPE");
printf("[%.3d][%s][%s]\n", i + 1, KEY, json_object_get_string(json_object_object_get(tmp, KEY)) );
memset(KEY, 0x00, sizeof(KEY));
strcpy(KEY, "MARGINRATE");
printf("[%.3d][%s][%s]\n", i + 1, KEY, json_object_get_string(json_object_object_get(tmp, KEY)) );
memset(KEY, 0x00, sizeof(KEY));
strcpy(KEY, "ACTUALVOLUME");
printf("[%.3d][%s][%s]\n", i + 1, KEY, json_object_get_string(json_object_object_get(tmp, KEY)) );
memset(KEY, 0x00, sizeof(KEY));
strcpy(KEY, "AVGCOST");
printf("[%.3d][%s][%s]\n", i + 1, KEY, json_object_get_string(json_object_object_get(tmp, KEY)) );
memset(KEY, 0x00, sizeof(KEY));
strcpy(KEY, "AMOUNT");
printf("[%.3d][%s][%s]\n", i + 1, KEY, json_object_get_string(json_object_object_get(tmp, KEY)) );
memset(KEY, 0x00, sizeof(KEY));
strcpy(KEY, "LASTPRICE");
printf("[%.3d][%s][%s]\n", i + 1, KEY, json_object_get_string(json_object_object_get(tmp, KEY)) );
memset(KEY, 0x00, sizeof(KEY));
strcpy(KEY, "MKTVALUE");
printf("[%.3d][%s][%s]\n", i + 1, KEY, json_object_get_string(json_object_object_get(tmp, KEY)) );
memset(KEY, 0x00, sizeof(KEY));
strcpy(KEY, "MR");
printf("[%.3d][%s][%s]\n", i + 1, KEY, json_object_get_string(json_object_object_get(tmp, KEY)) );
}
}
return 0;
}
'증권정보 > 태국' 카테고리의 다른 글
StockParser.c (by TagWire) (0) | 2020.10.22 |
---|---|
[AES] ENCRYPT, DECRYPT - 128Bit (0) | 2019.10.31 |
정보분배, TagWire를 이용한 출력샘플(구조체정의및 출력) (0) | 2019.10.31 |