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

如何在jQuery中实现JSON对象的创建、更新与删除操作

用jQuery处理article.json的最简方法

嘿,我来帮你梳理一下具体的实现思路~首先得明确一个关键点:前端没法直接修改本地的JSON文件,浏览器的安全机制不允许这么做。所以我们的操作逻辑是先把JSON数据读到内存里修改,之后如果需要持久化这些改动,得靠后端接口来把新数据写回文件。下面是具体步骤:

1. 读取JSON文件到内存

用jQuery的$.getJSON()方法就能轻松读取文件,把数据存在全局变量里方便后续操作:

let articlesData;

// 读取article.json文件
$.getJSON('article.json', function(data) {
  articlesData = data;
  console.log('数据读取完成:', articlesData);
});

2. 更新点赞/点踩数

写一个通用函数,根据文章ID定位到目标对象,再修改对应的属性:

function updateReaction(articleId, type) {
  // 从数组里找到对应ID的文章
  const targetArticle = articlesData.articles.find(article => article.id === articleId);
  
  if (targetArticle) {
    // 根据类型更新点赞或点踩数
    if (type === 'like') {
      targetArticle.likes++;
    } else if (type === 'unlike') {
      targetArticle.unlikes++;
    }
    console.log('更新后的数据:', articlesData);
    // 这里可以调用后端接口,把更新后的articlesData传回去做持久化
  } else {
    console.log(`找不到ID为${articleId}的文章`);
  }
}

// 调用示例:给ID为1的文章点赞
updateReaction(1, 'like');
// 调用示例:给ID为2的文章点踩
updateReaction(2, 'unlike');

3. 添加新的文章对象

创建符合结构的新对象,确保ID唯一(可以用现有最大ID+1),再推送到articles数组里:

function addNewArticle(title) {
  // 生成唯一ID:取现有文章的最大ID+1,没有文章则设为1
  const maxId = articlesData.articles.length 
    ? Math.max(...articlesData.articles.map(art => art.id)) 
    : 0;
  const newArticle = {
    id: maxId + 1,
    title: title,
    likes: 0,
    unlikes: 0
  };
  
  articlesData.articles.push(newArticle);
  console.log('新增文章后的数据:', articlesData);
  // 同样,这里需要调用后端接口把新数据持久化到文件
}

// 调用示例:添加标题为"Example 3"的新文章
addNewArticle('Example 3');

关于持久化的补充说明

如果需要把修改后的数据真正保存到article.json文件里,你得写一个后端接口(比如用Node.js、PHP等),前端通过$.ajax()把更新后的articlesData传给后端,由后端负责写入文件。举个简单的前端提交示例:

// 提交修改后的数据到后端接口
function saveData() {
  $.ajax({
    url: '/save-articles', // 替换成你的后端接口地址
    type: 'POST',
    contentType: 'application/json',
    data: JSON.stringify(articlesData),
    success: function(response) {
      console.log('数据保存成功!', response);
    },
    error: function(err) {
      console.error('保存失败:', err);
    }
  });
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 10:04:49