You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

新手求助:如何在Javascript中从JSON Array提取特定键值对

从AJAX POST返回的JSON数组中提取特定键值的方法

嘿,我刚接触JSON和jQuery的时候也遇到过类似的问题,别担心,其实提取特定键值的操作很直观~我给你一步步演示怎么弄:

第一步:发起AJAX POST请求

首先用jQuery写一个标准的AJAX POST请求,记得指定返回类型为JSON,这样jQuery会自动帮我们把返回的字符串解析成JS数组/对象,省得手动处理:

$.ajax({
  url: '/你的API接口地址', // 替换成你的实际API地址
  method: 'POST',
  data: {
    // 这里填你要发送给API的参数,比如:
    username: 'test_user',
    password: '123456'
  },
  dataType: 'json', // 关键!告诉jQuery返回的是JSON格式
  success: function(response) {
    // 请求成功后,response就是我们拿到的JSON数组
    extractKeyValues(response);
  },
  error: function(xhr, status, error) {
    console.error('请求出错啦:', error);
  }
});

第二步:提取特定键及其对应值

假设你的API返回的JSON数组是这样的(我先模拟一个常见的结构):

[
{"id": 1, "productName": "笔记本电脑", "price": 5999},
{"id": 2, "productName": "无线鼠标", "price": 99},
{"id": 3, "productName": "机械键盘", "price": 299}
]

接下来写一个处理函数,比如我们要提取所有的productName(商品名称)和对应的price(价格):

function extractKeyValues(jsonArray) {
  // 遍历数组里的每一项
  jsonArray.forEach(function(item) {
    // 直接通过键名提取对应的值
    const name = item.productName;
    const price = item.price;
    
    // 这里可以根据你的需求做操作,比如打印到控制台
    console.log(`商品:${name},价格:${price}元`);
    
    // 或者把内容添加到页面上,比如插入到一个列表里
    $('#product-list').append(`<li>${name} - ${price}元</li>`);
  });

  // 如果只需要提取符合特定条件的项,比如价格低于300的商品名称
  const cheapProducts = jsonArray
    .filter(item => item.price < 300)
    .map(item => item.productName);
  console.log('低价商品列表:', cheapProducts); // 输出:["无线鼠标", "机械键盘"]
}

小提示

  • 如果你不确定API返回的具体结构,可以先在success回调里加一句console.log(response),打开浏览器控制台就能看到完整的数据结构了
  • 要确保API返回的确实是JSON数组(用[]包裹),如果是单个对象(用{}包裹),那直接item.keyName提取就行,不用遍历数组
  • 要是遇到解析错误,检查一下API返回的JSON格式是否合法,有没有语法错误

内容的提问来源于stack exchange,提问作者Voila

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:10:55