Exemplo n.º 1
0
static kbool_t SetJsonKeyValue(KonohaContext *kctx, struct JsonBuf *jsonbuf, const char *key, size_t keylen_or_zero, struct JsonBuf *otherbuf)
{
	if(!JSON_TYPE_CHECK(Object, toJSON(jsonbuf->json_i))) {
		return false;
	}
	size_t keylen = KeyLen(key, keylen_or_zero);
	JSONObject_set((JSONMemoryPool *)(PLATAPI JsonHandler), toJSON(jsonbuf->json_i),
			key, keylen, toJSON(otherbuf->json_i));
	return true;
}
Exemplo n.º 2
0
//## void JSON.set(String key, JSON value);
static KMETHOD kJSON_set(KonohaContext *kctx, KonohaStack *sfp)
{
	kString *s = sfp[1].asString;
	JSON obj, key, val;
	obj = ((kJSON *)sfp[0].asObject)->json;
	val = ((kJSON *)sfp[2].asObject)->json;
	key = JSONString_new(S_text(s), S_size(s));
	JSONObject_set(obj, key, val);
	KReturnVoid();
}
Exemplo n.º 3
0
static kbool_t SetJsonKeyValue(KonohaContext *kctx, struct JsonBuf *jsonbuf, const char *key, size_t keylen_or_zero, struct JsonBuf *otherbuf)
{
	JSON json = AsJSON(jsonbuf);
	size_t keylen;
	if(!JSON_TYPE_CHECK(Object, json)) {
		return false;
	}
	keylen = KeyLen(key, keylen_or_zero);
	JSONObject_set((JSONMemoryPool *)(JSONAPI JsonHandler), json, key, keylen, AsJSON(otherbuf));
	return true;
}
Exemplo n.º 4
0
static kbool_t SetJsonValue(KonohaContext *kctx, struct JsonBuf *jsonbuf, const char *key, size_t keylen_or_zero, KJSONTYPE type, ...)
{
	va_list ap;
	va_start(ap, type);
	JSON val = toJSON(NewJsonI((JSONMemoryPool *)(PLATAPI JsonHandler), type, ap));
	kbool_t ret = true;
	if(key != NULL) {
		size_t keylen = KeyLen(key, keylen_or_zero);
		JSONObject_set((JSONMemoryPool *)(PLATAPI JsonHandler),
				toJSON(jsonbuf->json_i), key, keylen, val);
	}
	else {
		jsonbuf->json_i = val.bits;
	}
	va_end(ap);
	return ret;
}