使用参数从本地文件中获取 JSON

问题描述 投票:0回答:1

我有一个本地 JSON 文件,其中包含许多对象,每个对象都与不同的邮政编码相关。我有一个输入让用户输入他们的邮政编码,然后我想从与该邮政编码相关的 JSON 文件中获取数据。我不想获取 JSON 文件的全部内容,因为它包含数十万行,所以我只想获取与用户邮政编码相关的数据。理想情况下,我想在使用 Fetch API 时将邮政编码作为参数传递,以便它只返回匹配的数据。

[
    {
        "Postcode": "ABC123",
        "Address": "10 King Street",
        ...
    },
    {
        "Postcode": "DEF456",
        "Address": "20 Queen Street",
        ...
    },
    {
        "Postcode": "GHI789",
        "Address": "30 Prince Street",
        ...
    }
]

有没有办法使用 Fetch 传递参数或使用查询字符串只返回匹配的数据?我只使用原生 javascript(没有 Node.js 或任何框架)

javascript json fetch local
1个回答
-1
投票

没有服务器/后端就无法预过滤 json

fetch
API 只是执行 http 请求的包装器。如果你使用的是一个“简单”的服务器,它只根据文件夹结构返回文件(或者在你的本地机器上打开你的 html 文件),你不能做任何类型的过滤;这种简单的服务器是愚蠢的输入/输出管道,只是通过网络复制文件。幸运的是,如果您正在构建一个实际的 Web 应用程序,您可能已经在创建某种后端服务器。

你想选择哪个服务器超出了这个问题的范围,但你要做的一般要点是:

  • 定义路线(
    your.app/api/zips
    )
  • 创建处理程序
    get
    请求
  • 包括您需要的任何信息作为参数(
    your.app/api/zips?zip=90210
  • server 将整个 json 文件加载到它的内存中,解析它,然后用你想要的值创建一个新对象,并用它响应请求。

如果你因为你的应用程序完全是本地的而没有使用任何服务器,我什至不会打扰; “几十万行”听起来很多,但实际上最多只有几MB,这对于本地连接来说不算什么。

© www.soinside.com 2019 - 2024. All rights reserved.