当前位置: 首页 > 知识库问答 >
问题:

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

昌栋
2023-03-14

这是我从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/*"}]'

我想从这个键中提取值:“TIME\u ORIGIN”:“82199”,我认为这是JSON数组,但我做不到。

共有2个答案

梁承恩
2023-03-14
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)
邢法
2023-03-14

您需要使用json。加载(从字符串加载json):

下面是一个工作示例:

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'])
 类似资料:
  • 问题内容: 我对Json文件很陌生。如果我有一个包含多个json对象的json文件,例如: 我想将所有“时间戳记”和“有用性”提取到一个数据帧中: 有谁知道解决此类问题的一般方法? 问题答案: 使用json数组,格式为: 然后将其导入到您的python代码中 现在,数据的内容是一个带有字典的数组,字典表示每个元素。 您可以轻松访问它,即:

  • 问题内容: 首先,我将自由地让自己成为一个笨拙的文科专家,他完全可以自学此脚本。就是说,我正在尝试使用以下代码从USGS水数据服务获取值: 尽管我找到了一些有关如何从JSON响应中提取所需值的教程,但大多数教程都非常简单。我遇到的困难是从该服务返回的看起来非常复杂的响应中提取出来的。查看响应,我可以看到我想要的是来自两个不同部分的值和一个时间值。因此,我可以查看响应并查看所需的内容,但我一生无法解

  • 问题内容: 我知道它是一个数组,但是我对JSON完全陌生,需要帮助理解它的结构,这是我提取数据的尝试: 我拥有的JSON数据如下所示: 我对这些东西的掌握并不强,因此感谢所有帮助。 问题答案: 这是个主意: 它应该可以工作(如果有编译错误,请随时投诉)

  • 我想要这样的结果。依靠这个数组,我想在其中得到一个随机值。

  • 我得到错误:“com.google.gson.jsonSyntaxException:java.lang.IllegalStateException:Expected BEGIN_OBJECT但是BEGIN_ARRAY位于第1行column 283 path$.items.Promended[0].images” 我请求帮助从json对象提取数据。 我只需要删除类'images',并将'urls'

  • 问题内容: 我有一个变量,如下所示: 该变量中包含许多城镇数据。如何有效地从数据中提取第三个元素?我,下面会是什么? 如果我想将两个值都存储在数组中怎么办?那是 我是Java的新手。我希望有一种不使用for循环的方法。 问题答案: 在较新的浏览器上,您可以使用,否则可以避免使用循环。 但是for循环更兼容。