JSON 入门指南 想了解json的朋友可以看下

JSON 入门指南

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,常用于前后端数据传输。本文将为大家介绍 JSON 的基本语法以及常见的操作方法。

JSON 基本语法

JSON 的数据格式有两种:

  • 对象 (Object):一个对象是一个键(key)/值(value)对集合,用 {} 表示。
  • 数组 (Array):一个数组是一个有序的值(value)列表,用 [] 表示。

键(key)必须是字符串(string)类型,值(value)可以是字符串(string)、数字(number)、布尔值(boolean)、Null、对象(object)、数组(array),甚至还可以是函数(function)。

以下是 JSON 基本语法的示例:

{
  "name": "Alice",
  "age": 25,
  "isMarried": false,
  "address": {
    "city": "Beijing",
    "country": "China"
  },
  "hobbies": ["reading", "traveling"]
}

JSON 常见操作方法

将字符串转换为 JSON 对象

当我们从后端接收到一个 JSON 格式的字符串,需要将其转换为 JSON 对象,可以使用 JSON.parse() 方法,如下所示:

const jsonStr = '{ "name": "Bob", "age": 30 }';
const jsonObj = JSON.parse(jsonStr);
console.log(jsonObj); // 输出 { name: 'Bob', age: 30 }

将 JSON 对象转换为字符串

当我们需要将一个 JSON 对象转换为 JSON 格式的字符串,可以使用 JSON.stringify() 方法,如下所示:

const jsonObj = { name: 'Bob', age: 30 };
const jsonStr = JSON.stringify(jsonObj);
console.log(jsonStr); // 输出 '{"name":"Bob","age":30}'

示例说明

示例一:发送带有 JSON 数据的 POST 请求

向后端发送 POST 请求,并携带 JSON 数据可以使用以下方法:

const data = { name: 'Tom', age: 25 };
fetch('/api/user', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify(data)
})
  .then(res => res.json())
  .then(data => console.log(data))
  .catch(err => console.error(err));

示例二:使用 JSON 数据初始化表格

通过遍历 JSON 数据,我们可以很容易地将数据初始化为表格,如下所示:

const data = [
  { name: 'Alice', age: 25, isMarried: false },
  { name: 'Bob', age: 30, isMarried: true },
  { name: 'Charlie', age: 20, isMarried: false },
];

const table = document.createElement('table');
const thead = document.createElement('thead');
const tbody = document.createElement('tbody');

const headerRow = document.createElement('tr');
headerRow.innerHTML = '<th>Name</th><th>Age</th><th>Is Married</th>';
thead.appendChild(headerRow);

data.forEach(item => {
  const tableRow = document.createElement('tr');
  const nameCell = document.createElement('td');
  nameCell.innerText = item.name;
  const ageCell = document.createElement('td');
  ageCell.innerText = item.age;
  const isMarriedCell = document.createElement('td');
  isMarriedCell.innerText = item.isMarried ? 'True' : 'False';
  tableRow.appendChild(nameCell);
  tableRow.appendChild(ageCell);
  tableRow.appendChild(isMarriedCell);
  tbody.appendChild(tableRow);
});
table.appendChild(thead);
table.appendChild(tbody);
document.body.appendChild(table);

以上就是本文的内容,希望能帮助大家更好地了解和使用 JSON。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JSON 入门指南 想了解json的朋友可以看下 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • C语言 基本语法示例讲解

    这里为大家讲解一下“C语言 基本语法示例讲解”的攻略。 1. 基本语法 1.1 变量声明 在C语言中,首先需要声明变量名及其类型。如: int a, b, c; float f; double d; 上述代码中,声明了整型变量a、b、c,单精度浮点型变量f和双精度浮点型变量d。 1.2 变量赋值 在声明变量后可以进行其它操作,如赋值。如: a = 10; b…

    C 2023年5月23日
    00
  • C语言中如何进行代码注释?

    当我们写代码时,必须添加注释来使代码更加易于阅读和理解。在C语言中,有两种类型的注释,即单行注释和多行注释。 单行注释 单行注释用于在代码行末尾添加注释。在C语言中,单行注释以双斜杠“//”开始,直到该行的结尾。例如: // 这是一条单行注释 int a = 10; // 这是在同一行之后的注释 多行注释 多行注释用于在一段代码中添加注释。在C语言中,多行注…

    C 2023年4月27日
    00
  • C语言模式实现C++继承和多态的实例代码

    为了实现C++的继承和多态概念,可以在C语言中定义结构体来模拟类的概念,通过指针来实现函数的虚函数(相当于C++中的纯虚函数)。下面我将讲解具体的步骤和示例代码。 1. 声明父类结构体 先用结构体来定义一个父类,并声明父类的成员变量和方法。注意在结构体内部也要使用指针来模拟虚函数表的概念。 typedef struct Parent { int m_val;…

    C 2023年5月23日
    00
  • ZUK Z1怎么样?ZUK Z1首发全面评测

    ZUK Z1怎么样?ZUK Z1首发全面评测 1.外观和手感 ZUK Z1采用金属边框加上塑料后盖的结构,整体外观简洁大方。底部有一个Type-C接口,并配备了一个3.5mm耳机孔。整机采用5.5英寸FHD显示屏,屏幕较大,并且分辨率达到了1080×1920像素。 从手感上来说,ZUK Z1刚拿起来时比较重,但由于其组装结构严密,好像整个手机都是紧紧地包裹在…

    C 2023年5月22日
    00
  • C++计数排序详解

    C++计数排序详解 什么是计数排序? 计数排序是一种非比较型排序算法,它的基本思想是统计所有元素的出现次数,然后根据每个元素的出现次数,依次将这些元素放入数组中,从而得到排好序的数组。 计数排序的基本原理 计数排序利用一个额外的数组C,其中第i个元素是待排序数组A中值等于i的元素个数。然后根据数组C来将A中的元素排到正确的位置。例如,如果C[3]=4,那么值…

    C 2023年5月22日
    00
  • C语言自制测色弱找方块游戏的示例代码

    下面我来详细讲解“C语言自制测色弱找方块游戏的示例代码”的完整攻略。 程序简介 该程序是一款基于C语言编写的测色弱能力的小游戏,玩家需要在屏幕上找到某个特定颜色方块,并点击该方块。同时,该程序还能够较为准确地检测用户的色盲情况。如果用户识别出的颜色与程序给出的颜色不符,则会提示用户是否为色盲人士。 程序设计 程序主要由两个部分组成:图像处理和游戏逻辑处理。图…

    C 2023年5月24日
    00
  • C语言实现选择题标准化考试系统

    C语言实现选择题标准化考试系统攻略 系统功能需求分析 新建考试:输入开考时间、考试时间、考试科目、考试总分数等信息,创建一次新的考试 题目管理:支持增加、删除、修改、查询题目信息,包括题目编号、题目内容、选项、正确答案、分值等信息 学生管理:支持增加、删除、修改、查询学生信息,包括学生姓名、学号、班级、成绩等信息 考试管理:添加学生、查看学生成绩、删除学生等…

    C 2023年5月23日
    00
  • C语言求解最长公共子字符串问题及相关的算法分析

    C语言求解最长公共子字符串问题及相关的算法分析 简介 在文本处理中,求解最长公共子字符串问题是一个普遍的、重要的问题。该问题描述如下:给定两个字符串s1和s2,求它们的最长公共子字符串,即在两个字符串中都出现过的最长的子串。 算法分析 在求解最长公共子字符串问题中,有多种不同的算法,这里介绍两种常用的算法:暴力枚举和动态规划。 暴力枚举算法 暴力枚举算法是最…

    C 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部