Chilkat2-Python
Chilkat2-Python
Iterate JSON where Member Names are Data Values
See more JSON Examples
Demonstrates how to parse JSON where member names are not keywords, but instead are data values.Chilkat Chilkat2-Python Downloads
import chilkat2
success = False
json = chilkat2.JsonObject()
success = json.LoadFile("qa_data/json/valuesAsNames.json")
# Imagine we have JSON such as the following:
# {
# "1680": {
# "entity_id": "1680",
# "type_id": "simple",
# "sku": "123"
# },
# "1701": {
# "entity_id": "1701",
# "type_id": "simple",
# "sku": "456"
# }
# }
#
# This presents a parsing problem because the member names, such as "1680"
# are not keywords. Instead they are data values. We don't know what they
# may be in advance.
# To solve, we iterate over the members, get the name of each, ...
numMembers = json.Size
for i in range(0,numMembers):
name = json.NameAt(i)
print(name + ":")
# jRecord is a CkJsonObject
jRecord = json.ObjectAt(i)
print("entity_id: " + jRecord.StringOf("entity_id"))
print("type_id: " + jRecord.StringOf("type_id"))
print("sku: " + jRecord.StringOf("sku"))