APIJSON 博客9 AbstractSQLConfig 第九篇

本文深入分析了APIJSON中的AbstractSQLConfig构造方法,探讨了JSON对象的转换方法,包括Java对象与JSON之间的相互转换。此外,还介绍了存储过程的概念、优缺点,并展示了APIJSON中处理JSON请求和数据库交互的关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2021SC@SDUSC

我们来继续上周的分析,下面的方法是

SQLConfig newSQLConfig(RequestMethod method, String table, String alias, JSONObject request, List<Join> joinList, boolean isProcedure, Callback callback) throws Exception {}

这是一段长达400行代码的方法,从方法的名字可以看出,newSQLConfig是创建一个新的SQLConfig,传入的参数有RequestMethod method, String table, String alias, JSONObject request, List<Join> joinList, boolean isProcedure, Callback callback

我们来看第一段

if (request == null) { // User:{} 这种空内容在查询时也有效
			throw new NullPointerException(TAG + ": newSQLConfig  request == null!");
		}

如果request为空,抛出一个NullPointerException

我们看到request的类型是JSONObject,

public class JSONObject extends com.alibaba.fastjson.JSONObject

该类型定义拓展了下包

com.alibaba.fastjson.JSONObject

知识学习

com.alibaba.fastjson.JSONObject

com.alibaba.fastjson.JSONObject时经常会用到它的转换方法,包括Java对象转成JSON串、JSON对象,JSON串转成java对象、JSON对象,JSON对象转换Java对象、JSON串等

1、JSON的两种结构
JSON有两种表示结构,对象和数组。
对象结构以”{”大括号开始,以”}”大括号结束。中间部分由0或多个以”,”分隔的”key(关键字)/value(值)”对构成,关键字和值之间以”:”分隔,语法结构如代码。

{
    key1:value1,
    key2:value2,
    ...
}
其中关键字是字符串,而值可以是字符串,数值,true,false,null,对象或数组

数组结构以”[”开始,”]”结束。中间由0或多个以”,”分隔的值列表组成,语法结构如代码。
[
    {
        key1:value1,
        key2:value2 
    },
    {
         key3:value3,
         key4:value4   
    }
]

使用方法总结如下

Java对象-->JSON对象
(JSONObject)JSONObject.toJSON(Java对象实例)


  public class JSON2JavaTest{
     public static void main(String[] args) {
          Student stu = new Student("姓名", "m", 2);
 
         //Java对象转化为JSON对象
         JSONObject jsonObject = (JSONObject) JSONObject.toJSON(stu);
         System.out.println("Java对象转化为JSON对象\n" + jsonObject);

         //{"name":"姓名","age":2,"sex":"m"}
        
     }

 }

2、认识JSON字符串
比如在js中。
字符串:这个很好解释,指使用“”双引号或’’单引号包括的字符。例如:var comStr = 'this is string';
json字符串:指的是符合json格式要求的js字符串。例如:var jsonStr = "{StudentID:'100',Name:'tmac',Hometown:'usa'}";
json对象:指符合json格式要求的js对象。例如:var jsonObj = { StudentID: "100", Name: "tmac", Hometown: "usa" };

Java对象-->JSON字符串
JSONObject.toJSONString(Java对象实例)

 public class JSON2JavaTest{
     public static void main(String[] args) {
         Student stu = new Student("姓名", "m", 2);
 
         //Java对象转换成JSON字符串
         String stuString = JSONObject.toJSONString(stu);
         System.out.println("Java对象转换成JSON字符串\n" + stuString);

         //{"age":2,"name":"姓名","sex":"m"}
     }
 }

3、JSON对象-->JSON字符串
JSONObject.toJSONString();
 public class JSON2JavaTest{

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值