0

我想从 JSON 中提取字符串,该字符串在值前面没有键描述符,但值只是用“|”分隔。

这是我所拥有的输入类型的示例:

{"data":["this|is|an|","example|thank|","you|very|much|"]}

请注意,在文档中,我认为有用的Jansson函数总是有一个键作为参数(但我的数组只有没有键的字符串)。如果有人可以帮助我将非常感激。

4

1 回答 1

2

对于数组的元素,您不需要任何键,因为您可以通过索引访问它们。

首先,您将数组本身作为 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...
}
于 2017-11-10T15:54:34.857 回答