JSON使用示例

1——什么是json?

JSON,说白了就是JavaScript用来处理数据的一种格式,这种格式非常简单易用。

JSON支持的语言非常多,包括JavaScript、C#、PHP、Java等等,这是由于JSON是独立于语言的轻量级的数据交换格式

2——json的两种格式:

1.对象结构(键值对)无序

对象结构是使用大括号{}括起来的,大括号内是由0个或多个英文逗号分隔的“关键字:值”对(key:value)构成的。

语法:

var jsonObj =
{
    "键名1":值1,
    "键名2":值2,
    ……
    "键名n":值n
}

jsonObj指的是json对象。

2.数组结构 有序

JSON数组结构是用中括号“[]”括起来,中括号内部由0个或多个以英文逗号“,”分隔值列表组成。

语法:arr指的是json数组。在JSON数组中,每一对“{}”相当于一个JSON对象

var arr =
[
    {
        "键名1":值1,
        "键名2":值2
    },
    {
        "键名3":值3,
        "键名4":值4
    },
    ……
]

注意,这里的键名是字符串,但是值可以是数值、字符串、对象、数组或逻辑true和false。

4——在 JavaScript 中使用 JSON示例

例如,可以创建一个新的 JavaScript 变量,然后将 JSON 格式的数据字符串直接赋值给它:

var people =
  { "programmers": [
    { "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance.com" },
    { "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets.com" },
    { "firstName": "Elliotte", "lastName":"Harold", "email": "elharo@macfaq.com" }
   ],
  "authors": [
    { "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" },
    { "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" },
    { "firstName": "Frank", "lastName": "Peretti", "genre": "christian fiction" }
   ],
  "musicians": [
    { "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" },
    { "firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano" }
   ]
  }

访问数据

实际上,只需用点号表示法来表示数组元素。所以,要想访问 programmers 列表的第一个条目的姓氏,只需在 JavaScript 中使用下面这样的代码:

people.programmers[0].lastName;

注意,数组索引是从零开始的。

下面是使用同一变量的几个示例。

people.authors[1].genre                       // Value is "fantasy"
people.musicians[3].lastName          // Undefined. This refers to the fourth entry, and there isn't one
people.programmers.[2].firstName      // Value is "Elliotte"

利用这样的语法,可以处理任何 JSON 格式的数据,而不需要使用任何额外的 JavaScript 工具包或 API。

修改 JSON 数据

正如可以用点号和括号访问数据,也可以按照同样的方式轻松地修改数据:

people.musicians[1].lastName = "Rachmaninov";

在将字符串转换为 JavaScript 对象之后,就可以像这样修改变量中的数据。

转换回字符串

String newJSONtext = people.toJSONString();

更重要的是,可以将任何 JavaScript 对象转换为 JSON 文本。并非只能处理原来用 JSON 字符串赋值的变量。为了对名为 myObject 的对象进行转换,只需执行相同形式的命令

String myObjectInJSON = myObject.toJSONString();

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Servlet是Java Web开发中的一个重要组件,可以用来处理HTTP请求和响应。在处理HTTP请求时,Servlet可以根据业务逻辑生成JSON格式的数据,然后将其作为HTTP响应返回给客户端。 下面是一个简单的Servlet返回JSON示例: ```java import com.google.gson.Gson; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/json-example") public class JsonExampleServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // 设置响应的内容类型为JSON resp.setContentType("application/json"); // 创建一个Java对象,作为要返回的JSON数据 Person person = new Person("John", 25); // 将Java对象转换成JSON字符串 Gson gson = new Gson(); String json = gson.toJson(person); // 获取输出流,将JSON数据写入响应 PrintWriter out = resp.getWriter(); out.print(json); out.flush(); } // 定义一个简单的Java对象,用于转换成JSON private static class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } } } ``` 上述示例中,我们使用了Google Gson库将Java对象转换成JSON字符串。在doGet方法中,我们先创建一个Java对象(在示例中是Person对象),然后使用Gson将其转换成JSON字符串。接下来,我们设置HTTP响应的内容类型为`application/json`,获取输出流,并将JSON字符串写入输出流中,最后通过输出流将JSON作为HTTP响应返回给客户端。 当客户端发送HTTP请求到`/json-example`路径时,Servlet会调用doGet方法来处理请求,并返回一个包含Person对象的JSON数据。 以上是一个简单的Servlet返回JSON示例。在实际应用中,可以根据具体业务需求,通过Java对象和Gson库来构造和转换更复杂的JSON数据。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咸鱼2333号程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值