Ejemplo n.º 1
0
static const char *GetJsonText(KonohaContext *kctx, struct JsonBuf *jsonbuf, const char *key, size_t keylen_or_zero, const char *defval)
{
	if(key == NULL)
		JSONString_get(toJSON(jsonbuf->json_i));
	size_t length = KeyLen(key, keylen_or_zero);
	return JSON_getString(toJSON(jsonbuf->json_i), key, &length);
}
Ejemplo n.º 2
0
static const char *GetJsonText(KonohaContext *kctx, struct JsonBuf *jsonbuf, const char *key, size_t keylen_or_zero, const char *defval)
{
	size_t length;
	JSON json = AsJSON(jsonbuf);
	if(key == NULL)
		return JSONString_get(json);
	length = KeyLen(key, keylen_or_zero);
	return JSON_getString(json, key, &length);
}
Ejemplo n.º 3
0
static size_t DoJsonEach(KonohaContext *kctx, struct JsonBuf *jsonbuf, void *thunk, void (*doEach)(KonohaContext *, const char *, size_t, struct JsonBuf *, void *))
{
	size_t count = 0;
	struct JsonBuf eachbuf;
	JSON Key, Val;
	JSONObject_iterator Itr;
	JSON obj = AsJSON(jsonbuf);
	JSON_OBJECT_EACH(obj, Itr, Key, Val) {
		const char *key = JSONString_get(Key);
		size_t len      = JSONString_length(Key);
		eachbuf.json_i  = Val.bits;
		doEach(kctx, key, len, &eachbuf, thunk);
		count++;
	}
	return count;
}