我想从 JSON 中提取字符串,该字符串在值前面没有键描述符,但值只是用“|”分隔。
这是我所拥有的输入类型的示例:
{"data":["this|is|an|","example|thank|","you|very|much|"]}
请注意,在文档中,我认为有用的Jansson函数总是有一个键作为参数(但我的数组只有没有键的字符串)。如果有人可以帮助我将非常感激。
对于数组的元素,您不需要任何键,因为您可以通过索引访问它们。
首先,您将数组本身作为 json 对象获取:
int result;
json_t *data = NULL;
result = json_unpack(json_p, "{s:o}", "data", &data);
然后你可以得到元素:
int num_data = 0;
if (data != NULL && json_is_array(data))
num_data = json_array_size(data);
for (int i=0; i<num_data; i++)
{
json_t *one_elem = json_array_get(data, i);
// Do whatever has to be done...
}