简体   繁体   English

如何使用python从JSON文件中解开数组?

[英]How can I unwrap an array from JSON file with python?

I have the following JSON: 我有以下JSON:

{u'messagetype': u'writefft', u'fftData': [[0, 1, 2, 1, 2, 4, 1, 0]]}

How can I unwrap this so I can print each data of the array 'fftData'? 如何解开包装,以便可以打印数组'fftData'的每个数据?

Tried: 尝试过:

data = json.loads(request.body)
fftData = (data["fftData"])
print (data["fftData"])

But I doesn't achiev what I need... 但是我没有实现我所需要的...

  • What this prints: 打印内容:
  • [[0, 1, 2, 1, 2, 4, 1, 0]] [[0,1,2,1,2,2,4,1,0]]
  • What I want to print: 我要打印的内容:
  • 0, 1, 2, 1, 2, 4, 1, 0 0、1、2、1、2、4、1、0

  • Tried: print (fftData[0]) 尝试过:打印(fftData [0])

  • Put it prints:[0, 1, 2, 1, 2, 4, 1, 0] 把它打印出来:[0,1,2,1,2,4,1,0]

Can someone help me? 有人能帮我吗?

[[0, 1, 2, 1, 2, 4, 1, 0]] is a list with a list as its first element. [[0, 1, 2, 1, 2, 4, 1, 0]]是一个列表,其第一个元素为列表。

Instead, extract the inner list out by: 而是通过以下方式提取内部列表:

fftData = data["fftData"][0]

which will now print [0, 1, 2, 1, 2, 4, 1, 0] 现在将打印[0, 1, 2, 1, 2, 4, 1, 0]

Then, to print out your list, I'd just convert it to a string, then remove the first and last characters by slicing the string. 然后,要打印出您的列表,我将其转换为字符串,然后通过对该字符串进行切片来删除第一个和最后一个字符。

print(str(fftData)[1:-1])

The correct way: 正确的方法:

print(', '.join(str(i) for i in data["fftData"][0]))

The sneaky way: 偷偷摸摸的方式:

print(str(data["fftData"]).strip('[]'))
for value in data["fftData"][0]:
    print(value)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM