Salesforce中JSON的使用

Salesforce中JSON的使用:
JSON作为一种目前流行的轻量级数据交换格式,salesforce也对其有良好的类对其进行封装处理。salesforce中前后台交互时,使用JSON可以将apex的Object对象进行序列化和反序列化。

主要有三个类处理JSON:1.System.JSON;2.System.JSONGenerator;3.System.JSONParser

这些方法如果调用出现错误则抛出JSONException异常。

(一)System.JSON

使用JSON类和方法执行往返的序列化和反序列化JSON内容,这些方法允许你将Object对象序列化成JSON内容,也允许将JSON内容反序列化成Object对象;

主要方法如下:

1.public static String serialize(Object objectToSerialize):此方法用于将Object对象序列化成JSON内容。

2.public static String serializePretty(Object objectToSerialize:此方法用于将Object对象序列化成JSON内容,和上面方法的区别仅为此方法以精美的输出格式输出。

例子:

Salesforce中JSON的使用

3.public static Object deserialize(String jsonString, System.Type apexType):此方法用于将JSON内容反序列化成Apex的Object对象

Salesforce中JSON的使用

4.public static Object deserializeUntyped(String jsonString):此方法用于将指定的JSON内容反序列化成基本数据类型的集合,如果不是基本数据类型,则在反序列化时报异常:System.TypeException: Invalid conversion from runtime type List<ANY> to List<XXX>。eg:

Salesforce中JSON的使用

注:通过deserializeUntyped方法不能反序列化sObject类型,只允许反序列化基本数据类型。

5.public static System.JSONGenerator createGenerator(Boolean prettyPrint):返回JSONGenerator对象,其中形参prettyPrint代表JSONGenerator创建JSON内容是否遵循缩进格式,设置为true则遵循。

6.public static System.JSONParser createParser(String jsonString):返回JSONParser对象,其中形参jsonString代表要解析的json的内容。

(二)JSONGenerator

此类包含的方法用来通过标准的JSON编码将object对象序列化成JSON内容,方法主要作用为将各种类型的值写入JSON content中(相当于实例化JSON content value)。方法如下所示:

1.public void close():当JSON Generator关闭以后,无法再写入内容。

2.public Boolean isClosed():判断JSON Generator是否关闭,如果关闭返回true,否则返回false。

3.public String getAsString():返回生成的JSON的内容;

4.public Void writeBoolean(Boolean blobValue):写入指定的布尔类型值;

5.public void writeXXX:详情请看API

Salesforce中JSON的使用

 

(三)JSONParser

 使用System.JSONParser类用来解析一个调用了外部服务的JSON格式的返回的响应内容,例如WEB service callout的json格式相应。主要方法如下:

1.public Void clearCurrentToken():此方法用于清除当前的Token。此方法执行以后,hasCurrentToken方法返回false,getCurrentToken返回null,想要恢复此token可以调用getLastClearedToken方法;

2.public System.JSONToken getCurrentToken():获取当前的Token;

Salesforce中JSON的使用

3.public Boolean getBooleanValue();获取Boolean的值;

4.public Boolean getXXX():详情请看API文档;

Salesforce中JSON的使用

5.public System.JSONToken nextToken():返回下一个Token,如果已经到达了输入流最后,则返回null;

上一篇:TestLink汉化操作


下一篇:salesforce零基础学习(一百零九)Lightning Login启用以及配置