在尝试使用json.dumps时出现blaze错误,说TypeError:object不是JSON可序列化的。
data = Data("employee.json")
json.dumps(data)
答案 0 :(得分:1)
您无法直接将其转换为JSON。
替代方式如下:
fields = [] # Create an empty list to hold the field names
for fieldName in data.fields: # Iterate the field names
fields.append(fieldName) # Add to the list
result = []
for row in data: # Iterate each row
currentRow = {}
count = 0
for value in row:
currentRow[fields[count]] = value # Add each value with corresponding key from fields
count = count + 1
result.append(currentRow)
print(json.dumps(result))
答案 1 :(得分:0)
因为它是 Blaze数据对象。具有自己的函数和对象的对象,不能完全编码为json。阅读:How to make a class JSON serializable
如果您只想查看变量信息,请使用pprint
函数。
答案 2 :(得分:0)
如果您想要JSON文件的交互式视图,只需评估其名称即可。您将获得相当于print data.__repr__()
from blaze import Data
from blaze.utils import example
data = Data(example('accounts.json'))
data
# amount name
# 0 100 Alice
# 1 -200 Bob
# 2 300 Charlie
# 3 400 Dennis
# 4 -500 Edith