数据记录转为标准的json字符串

本文介绍如何将数据库查询结果集转换为JSON字符串的方法,包括数据获取、字段处理及最终JSON格式的生成。
/*
将查询结果集转为JSON字符串
*/
function DBToJSONString($jsonItem,$sqlstr){
  $data=mssqlquery($sqlstr);
  $rows=mssql_num_rows($data);
  $fnNums=mssql_num_fields($data);
  $SubjectList='';
  $SubjArray='';
  while ($row=mssql_fetch_array($data)) {
     for ($i=0;$i<$fnNums;++$i){
		 $SubjectList.="\"".mssql_field_name($data,$i)."\":\"".$row[$i]."\",";
	} 
    $SubjectList=substr($SubjectList,0,-1);
	$SubjArray.="{".$SubjectList."},";	
	$SubjectList='';
  }
  mssql_free_result($data);
  $SubjArray="\"".$jsonItem."\":[".substr($SubjArray,0,-1)."]";
  return $SubjArray;
}

### Java 将 JSON 字符串转换为数组 #### 使用 Jackson 库实现 JSON 字符串转数组 Jackson 是一种高性能的 JSON 处理工具,在处理复杂的 JSON 数据结构方面表现出色。下面展示一段利用 Jackson 实现将 JSON 字符串转化为 `String[]` 类型数组的例子。 ```java import com.fasterxml.jackson.databind.ObjectMapper; public class JsonToArrayExample { public static void main(String[] args) throws Exception { String jsonString = "[\"apple\",\"banana\",\"orange\"]"; ObjectMapper objectMapper = new ObjectMapper(); String[] resultArray = objectMapper.readValue(jsonString, String[].class); for (String item : resultArray){ System.out.println(item); } } } ``` 这段代码创建了一个包含水果名称列表的 JSON 字符串,并通过 Jackson 的 `ObjectMapper` 完成了向字符串数组类型的转化[^1]。 #### 使用 Gson 库实现 JSON 字符串转数组 Gson 提供了一种简单的方式来进行 JSON 解析和序列化操作,适用于各种复杂的数据模型。这里给出一个例子来说明怎样借助 Gson 把 JSON 字符串变成自定义类的对象数组。 假设有一个名为 `Person` 的实体类: ```java // Person.java 文件内容 public class Person { private String name; private int age; // Getters and Setters... @Override public String toString() { return "Name: "+this.name+", Age:"+this.age; } } ``` 接着可以编写如下测试程序完成从 JSON 到对象数组的转变过程: ```java import com.google.gson.Gson; public class MainTest { public static void main(String[] args) { String jsonStr = "[{\"name\":\"John\", \"age\":30},{\"name\":\"Jane\", \"age\":28}]"; Gson gson = new Gson(); Person[] personArr = gson.fromJson(jsonStr, Person[].class); for(Person p : personArr){ System.out.println(p.toString()); } } } ``` 上述实例展示了如何使用 Gson 来读取并解析表示多个人员记录的 JSON 数组,最终得到的是由这些记录组成的 `Person[]` 数组[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值