课程章节介绍
同学们,我们来看这一页,它讲的是Apex里面处理JSON最核心的几个工具。简单说,Apex给了我们三个主要的类来跟JSON打交道,你可以根据场景灵活选择。
第一个是System.JSON,它是最常用的,提供了高级序列化和反序列化操作。什么叫序列化呢?就是把Apex里的对象、集合这些数据,直接转成JSON字符串。反过来,把一段JSON字符串转回Apex对象,就叫反序列化。用System.JSON,一行代码就搞定了,非常适合大多数情况。
第二个是JSONGenerator,这个类呢,是让你像写文章一样,一步一步“写”出JSON。你可以先用writeStartObject开始一个对象,再用writeStringField写字段,最后writeEndObject结束。这种增量构建的方式,在你需要精细控制输出、或者数据是边算边生成的场景下特别好用。
第三个是JSONParser,它和JSONGenerator正好相反,是读取用的。它不是一次性把整个JSON解析成对象,而是像读流一样,一个令牌一个令牌地读,比如遇到一个左花括号、一个字段名、一个值。这种方式适合解析特别大的JSON,或者你需要逐个检查内容、做特殊处理的情况。
那在解析过程中,可能遇到的每种元素,比如字段名、数字值、布尔值、空值等等,都对应着一种令牌类型。Apex用了一个JSONToken枚举来列举所有这些可能的类型,方便你在遍历的时候做判断。
当然,无论是序列化还是解析,如果格式不对,比如少了个引号,或者结构不合法,这三个类的方法都会抛出异常,这个异常叫JSONException。所以写代码时记得做好异常捕获。
最后我们提一个方便的功能:System.JSON里面还有一个serializePretty方法。它和普通的serialize一样,也是把对象转成JSON,但输出结果是带有缩进和换行的,我们管它叫人类可读的格式。调试或者展示JSON的时候用它,看起来就特别清晰。
以上就是这页的核心内容,三个类各司其职,再加上令牌枚举和异常处理,构成了Apex中完整而灵活的JSON工具集。大家先有个轮廓印象,后面练习时我们还会深入用起来。
关键词
Apex
Salesforce
Developer Guide