简体   繁体   English

如何从这个 JSON ARRAY 中提取一个值?

[英]How can I extract one value from this JSON ARRAY?

This is the data I get from MPI ELAN, it's a about movie file used in that program:这是我从 MPI ELAN 获得的数据,它是关于该程序中使用的电影文件:

'[{"MEDIA_URL": "file:///Volumes/MINI RUGGED/MULTIMET2015/JOINT/29-60-S1.avi", "MIME_TYPE": "video/*", "TIME_ORIGIN": "176040"}, {"MEDIA_URL": "file:///Volumes/MINI RUGGED/MULTIMET2015/JOINT/29-60-S1-LEWA.mp4", "MIME_TYPE": "video/mp4", "TIME_ORIGIN": "100408"}, {"MEDIA_URL": "file:///Volumes/MINI RUGGED/MULTIMET2015/JOINT/29-60-S1-PRAWA.mp4", "MIME_TYPE": "video/mp4", "TIME_ORIGIN": "82199"}, {"MEDIA_URL": "file:///Volumes/MINI RUGGED/MULTIMET2015/JOINT/29-60-S1.mp3", "MIME_TYPE": "audio/*"}]'

I'd like to extract the value from this key: "TIME_ORIGIN": "82199" and I think this is JSON ARRAY, but I can't do it.我想从这个键中提取值: "TIME_ORIGIN": "82199" 我认为这是 JSON ARRAY,但我做不到。

You need to use json.loads(load json from string):您需要使用 json.loads(从字符串加载 json):

Here is a working example:这是一个工作示例:

import json

my_json_string = '[{"MEDIA_URL": "file:///Volumes/MINI RUGGED/MULTIMET2015/JOINT/29-60-S1.avi", "MIME_TYPE": "video/*", "TIME_ORIGIN": "176040"}, {"MEDIA_URL": "file:///Volumes/MINI RUGGED/MULTIMET2015/JOINT/29-60-S1-LEWA.mp4", "MIME_TYPE": "video/mp4", "TIME_ORIGIN": "100408"}, {"MEDIA_URL": "file:///Volumes/MINI RUGGED/MULTIMET2015/JOINT/29-60-S1-PRAWA.mp4", "MIME_TYPE": "video/mp4", "TIME_ORIGIN": "82199"}, {"MEDIA_URL": "file:///Volumes/MINI RUGGED/MULTIMET2015/JOINT/29-60-S1.mp3", "MIME_TYPE": "audio/*"}]'

my_json = json.loads(my_json_string)

print(my_json[0]['TIME_ORIGIN'])
def podajczasyfilmów(plikeaf)
  annofile = pympi.Elan.Eaf(plikeaf)
  dane = annofile.get_linked_files()
  dane = json.dumps(dane)
  jsonArray = chilkat.CkJsonArray()
  jsonArray.Load(dane)
  i = 0
  ltime = []
  lfile = []
  while i < jsonArray.get_Size() :
      jsonObj = jsonArray.ObjectAt(i)
      lplik = jsonObj.stringOf("MEDIA_URL")
      lczas = jsonObj.stringOf("TIME_ORIGIN")
      ltime.append(lczas)
      lfile.append(lplik)
      i = i + 1
  dfall = pd.DataFrame(ltime,lfile)

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

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