Hi,
I have series of Json records like this:
{
"continue": {
"clcontinue":"67535588|History_of_the_Chinese_Communist_Party",
"continue":"||"
},
"query":{
"normalized":[
{ "from":"100th_Anniversary_of_the_Chinese_Communist_Party",
"to":"100th Anniversary of the Chinese Communist Party"}
],
"pages":{
"67535588":{
"pageid":67535588,
"ns":0,
"title":"100th Anniversary of the Chinese Communist Party",
"categories": [
{"ns":14,"title":"Category:2021 in Beijing"},
{"ns":14,"title":"Category:All articles with unsourced statements"},
{"ns":14,"title":"Category:Articles containing Chinese-language text"},
{"ns":14,"title":"Category:Articles containing simplified Chinese-language text"},
{"ns":14,"title":"Category:Articles with short description"},
{"ns":14,"title":"Category:Articles with unsourced statements from March 2022"},
{"ns":14,"title":"Category:CS1 Chinese-language sources (zh)"},
{"ns":14,"title":"Category:Chinese historical anniversaries"},
{"ns":14,"title":"Category:Coordinates on Wikidata"},
{"ns":14,"title":"Category:Events in Beijing"}
]
}
}
}
}
I want to loop in "categories" array, in order to extract all the values of "title" keys. I tried with the following stcript in jython:
import json
data = json.loads(value)
lista =
for pageid, page in data["query"]["pages"].items():
lista.append(page['categories'][0]['title'])
return ":::".join(lista)
It returns only the first value: Category:2021 in Beijing
I know that I should loop in "categories" array. Can you help me?
Thank you very much.
Miquel Centelles