이 코드를 테스트 할 수
내가 JSON-입심 사용하지 않는
,
와 나는 builder
의를 해제 부분을 생략
하지만 난이 당신 도움이되기를 바랍니다 :
// build an object as an element of 'tag' array.
// {"one": "value", "two": "value"}
JsonNode * objectAsElementOfTag;
{
JsonBuilder *builder = json_builder_new();
json_builder_begin_object (builder);
json_builder_set_member_name (builder, "one");
json_builder_add_string_value (builder, "value");
json_builder_set_member_name (builder, "two");
json_builder_add_string_value (builder, "value");
json_builder_end_object (builder);
objectAsElementOfTag = json_builder_get_root (builder);
}
// build 'tag' array.
// [{"one": "value", "two": "value"}]
JsonNode * tagArray;
{
JsonBuilder *builder = json_builder_new();
json_builder_begin_array (builder);
json_builder_add_value (builder, objectAsElementOfTag);
json_builder_end_array (builder);
tagArray = json_builder_get_root (builder);
}
// build the first element.
// {"id": "i_am_id", "client":"i_am_C" ,"tag": [{"one": "value", "two": "value"}] }
JsonNode * firstElement;
{
JsonBuilder *builder = json_builder_new();
json_builder_begin_object (builder);
json_builder_set_member_name (builder, "id");
json_builder_add_string_value (builder, "i_am_id");
json_builder_set_member_name (builder, "client");
json_builder_add_string_value (builder, "i_am_C");
json_builder_set_member_name (builder, "tag");
json_builder_add_value (builder, tagArray);
json_builder_end_object (builder);
firstElement = json_builder_get_root (builder);
}
// build the second element(an empty object).
// {}
JsonNode * secondElement;
{
JsonBuilder *builder = json_builder_new();
json_builder_begin_object (builder);
json_builder_end_object (builder);
secondElement = json_builder_get_root (builder);
}
// build the third element(an empty object).
// {}
JsonNode * thirdElement;
{
JsonBuilder *builder = json_builder_new();
json_builder_begin_object (builder);
json_builder_end_object (builder);
thirdElement = json_builder_get_root (builder);
}
// finally, build the root array which may be what you want.
// [ {"id": "i_am_id", "client":"i_am_C" ,"tag": [{"one": "value", "two": "value"}] } ,{} ,{} ]
JsonNode * rootArray;
{
JsonBuilder *builder = json_builder_new();
json_builder_begin_array (builder);
json_builder_add_value (builder, firstElement);
json_builder_add_value (builder, secondElement);
json_builder_add_value (builder, thirdElement);
json_builder_end_array (builder);
rootArray = json_builder_get_root (builder);
}
을
'태그'는 json 객체가 아닌 json 배열처럼 보입니다. 대괄호없이 "tag": { "one": "value", "two": "value"}이면 충분합니다. – ALittleDiff
@ALittleDiff 아니요, 태그에는 { "one": "value"} 등의 많은 json 문자열이 포함될 수 있습니다. 내 요구 사항에 따라 대괄호가 있어야합니다. 그들은 jsonObject 또는 jsonarray 일 수 있습니다, 나는 그 대괄호가 필요합니다. 제발 말해줘. – hellodear