省市县从数据库读出来的list数据转换成json格式的数据
一,数据源
1.1,数据库查出来的数据是
两张表先各自左外连接,然后在相互左外连接查找省市县的数据(业务需求必须这样做,省市去的是第一张表,而市县取的是第二张表,两张表中间通过市的名字连接)见这个博文的最后一张图片
1.2,要求转换成的json格式的数据
1.2.1,完整数据
json省市县数据源(这是全部的数据)
1.2.2,抽取的数据
[
{
"Code": "410000",
"Name": "河南省",
"level": [
{
"Code": "414500",
"Name": "郑州市",
"level": [
{
"Code": "414500",
"Name": "二七区",
"sort": 1
},
{
"Code": "414500",
"Name": "中原区",
"sort": 2
}
],
"sort": 1
},
{
"Code": "414530",
"Name": "新乡市",
"level": [
{
"Code": "414530",
"Name": "卫滨区",
"sort": 1
},
{
"Code": "414530",
"Name": "牧野区",
"sort": 2
}
],
"sort": 2
}
]
},
{
"Code": "410000",
"Name": "陕西省",
"level": [
{
"Code": "414500",
"Name": "汉中市",
"level": [
{
"Code": "414500",
"Name": "西乡县",
"sort": 1
},
{
"Code": "414500",
"Name": "南郑县",
"sort": 2
}
],
"sort": 1
},
{
"Code": "414530",
"Name": "宝鸡市",
"level": [
{
"Code": "414530",
"Name": "岐山县",
"sort": 1
},
{
"Code": "414530",
"Name": "芙蓉县",
"sort": 2
}
],
"sort": 2
}
]
}
]
二,转化的整体代码
2.1,代码总览
/**
* 查询省份城市区县
*
* @return
*/
public String queryFullZoneInfo() {
List<Map<String, String>> mapList = zoneInfoService.queryFullZoneInfo();
List<Map<String, Object>> zoneList = new ArrayList<Map<String, Object>>();
Map<String, Object> existMap = new HashMap<String, Object>();
for (Map<String, String> map : mapList) {
String province = map.get("province");
Map<String, Object> provinceMap = null;
if (existMap.containsKey(province)) {
provinceMap = (Map<String, Object>) existMap.get(province);
} else {
provinceMap = new HashMap<String, Object>();
existMap.put(province, provinceMap);
zoneList.add(provinceMap);
}
provinceMap.put("Code", map.get("provinceCode"));
provinceMap.put("Name", map.get("province"));
String city = map.get("city");
if (StringUtils.isNotEmpty(city)) {
List<Map<String, Object>> provinceCityList = null;
if (existMap.containsKey(province + "_")) {
provinceCityList = (List<Map<String, Object>>) existMap.get(province + "_");
} else {
provinceCityList = new ArrayList<Map<String, Object>>();
existMap.put(province + "_", provinceCityList);
provinceMap.put("level", provinceCityList);
}
Map<String, Object> provinceCityMap = null;
if (existMap.containsKey(province + "_" + city)) {
provinceCityMap = (Map<String, Object>) existMap.get(province + "_" + city);
} else {
provinceCityMap = new HashMap<String, Object>();
existMap.put(province + "_" + city, provinceCityMap);
provinceCityList.add(provinceCityMap);
String citySort = String.valueOf(existMap.get(province + "_sort"));
existMap.put(province + "_sort", "null".equals(citySort) ? 1 : NumberUtils.toInt(citySort) + 1);
provinceCityMap.put("sort", existMap.get(province + "_sort"));
}
provinceCityMap.put("Name", city);
provinceCityMap.put("Code", map.get("cityCode"));
List<Map<String, Object>> provinceCityCountryList = null;
if (existMap.containsKey(province + "_" + city + "_")) {
provinceCityCountryList = (List<Map<String, Object>>) existMap.get(province + "_" + city + "_");
} else {
provinceCityCountryList = new ArrayList<Map<String, Object>>();
existMap.put(province + "_" + city + "_", provinceCityCountryList);
provinceCityMap.put("level", provinceCityCountryList);
}
String country = map.get("country");
Map<String, Object> provinceCityCountryMap = null;
if (StringUtils.isNotEmpty(country)) {
if (existMap.containsKey(province + "_" + city + "_" + country)) {
provinceCityCountryMap = (Map<String, Object>) existMap.get(province + "_" + city + "_" + country);
} else {
provinceCityCountryMap = new HashMap<String, Object>();
existMap.put(province + "_" + city + "_" + country, provinceCityCountryMap);
provinceCityCountryList.add(provinceCityCountryMap);
String countrySort = String.valueOf(existMap.get(province + "_" + city + "_sort"));
existMap.put(province + "_" + city + "_sort", "null".equals(countrySort) ? 1 : NumberUtils.toInt(countrySort) + 1);
provinceCityCountryMap.put("sort", existMap.get(province + "_" + city + "_sort"));
}
provinceCityCountryMap.put("Code", map.get("countryCode"));
provinceCityCountryMap.put("Name", country);
} else {
provinceCityCountryMap = new HashMap<String, Object>();
provinceCityCountryList.add(provinceCityCountryMap);
provinceCityCountryMap.put("sort", 1);
provinceCityCountryMap.put("Code", "");
provinceCityCountryMap.put("Name", "");
}
}
}
try {
return JsonUtils.toJson(zoneList);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
三,代码解析
3.1,json格式数据分析
从1.2.2的数据我们可以看到这个json所要求的数据是这个样子的
3.1.1,list
第一个大的list里面装的是34个省的对象组成的一个list集合。
3.1.2,map(对象)
每一个省中有code,和name的键值对,还有一个level的list集合
3.1.3,list
就是上面所说的level的集合,这个集合当中装的是每一个省里面的地级市的map对象
3.1.4,map(对象)
map对象里面有code,name的键值对,还有一个level的list集合,此外还有一个代表顺序的sort标示符
3.1.5,list
就是上面所说的level的集合,这个集合当中装的是每一个地级市里面装的县城的map对象
3.1.6,map(对象)
map对象里面有code,name的键值对,此外还有一个代表顺序的sort标示符,注意这个里面是没有list的集合了,因为它已经是最后一层了。
3.2,java代码分析
3.2.1,代码初步实现
根据上面的代码我们可以写出这样的代码
public String queryFullZoneInfo() {
List<Map<String, String>> mapList = zoneInfoService.queryFullZoneInfo();
List<Map<String, Object>> zoneList = new ArrayList<Map<String, Object>>();
Map<String, Object> existMap = new HashMap<String, Object>();
Map<String, Object> provinceMap = new HashMap<String, Object>();
Map<String, Object> provinceCityMap = new HashMap<String, Object>();
List<Map<String, Object>> provinceCityList = new ArrayList<Map<String, Object>>();
List<Map<String, Object>> provinceCityCountryList = new ArrayList<Map<String, Object>>();
Map<String, Object> provinceCityCountryMap = new HashMap<String, Object>();
for (Map<String, String> map : mapList) {
zoneList = new ArrayList<Map<String, Object>>();
provinceMap = new HashMap<String, Object>();
provinceCityMap = new HashMap<String, Object>();
provinceMap.put("Code", map.get("provinceCode"));
provinceCityList = new ArrayList<Map<String, Object>>();
provinceCityCountryList = new ArrayList<Map<String, Object>>();
provinceCityCountryMap = new HashMap<String, Object>();
provinceMap.put("Name", map.get("province"));
provinceMap.put("level", provinceCityList);
provinceCityList.add(provinceCityMap);
provinceCityMap.put("Name", map.get("city"));
provinceCityMap.put("Code", map.get("cityCode"));
provinceCityMap.put("level", provinceCityCountryList);
provinceCityCountryList.add(provinceCityCountryMap);
provinceCityCountryMap.put("Code", map.get("countryCode"));
provinceCityCountryMap.put("Name", map.get("country"));
zoneList.add(provinceMap);
}
try {
return JsonUtils.toJson(zoneList);
} catch (Exception e) {
e.printStackTrace();
}
注意上面空开的空格是和4.2做对比用的。
3.2.2,注意点
在上面的代码中虽然provinceMap是先把provinceCityList给put进去的,但是这不影响后面provinceCityList的取值,换句话就是当执行到这句
provinceMap.put("level", provinceCityList);
代码的时候,provinceCityList是null,只到这句代码
provinceCityList.add(provinceCityMap);
provinceCityMap.put("Name", map.get("city"));
provinceCityMap.put("Code", map.get("cityCode"));
执行完之后它才有的值,但同时注意了,provinceMap里面的provinceCityList也就有了值,这是后面给它赋值的。
3.2.3,注意点升级
String province = map.get("province");
Map<String, Object> provinceMap = null;
if (existMap.containsKey(province)) {
provinceMap = (Map<String, Object>) existMap.get(province);
} else {
provinceMap = new HashMap<String, Object>();
existMap.put(province, provinceMap);{黑龙江省={Name=黑龙江省, Code=230000}}
zoneList.add(provinceMap);
}
provinceMap.put("Code", map.get("provinceCode"));
provinceMap.put("Name", map.get("province"));
注意理解上面的代码:
是先申明了一个map,注意第一遍走的时候existMap.put(province, provinceMap);它是空的
但是当走到provinceMap.put("Code", map.get("provinceCode"));
provinceMap.put("Name", map.get("province"));这两行的时候它会把值给塞进去,
这时候existMap里面有值了
即使如果不走else里面的语句,也会把值给塞进去的。
3.2.4,问题点
假如像上面那样去解决问题的话,那么后面的代码永远会把前面的代码给覆盖掉的,
因为每一次都是new的一个对象。所以到最后上万条的数据,只会出来最后一条数据,
比如我测试的结果
[
{
"Code": "310000",
"Name": "上海市",
"level": [
{
"Code": "310100",
"Name": "上海市",
"level": [
{
"Code": "2909",
"Name": "长宁区"
}
]
}
]
}
]
最后返回的就是这一条数据,完全不是自己要的东西。
四,解决方法
4.1,代码
和2.1的代码是一么一样的。
4.2,注意点
这句代码就是在原来的基础上加了一个existMap的双例集合
我们把2.1的代码分开来读就会更加清晰
if (existMap.containsKey(province + "_")) {
provinceCityList = (List<Map<String, Object>>) existMap.get(province + "_");
} else {
provinceCityList = new ArrayList<Map<String, Object>>();
existMap.put(province + "_", provinceCityList);
provinceMap.put("level", provinceCityList);
}
if (existMap.containsKey(province + "_" + city)) {
provinceCityMap = (Map<String, Object>) existMap.get(province + "_" + city);
} else {
provinceCityMap = new HashMap<String, Object>();
existMap.put(province + "_" + city, provinceCityMap);
provinceCityList.add(provinceCityMap);
String citySort = String.valueOf(existMap.get(province + "_sort"));
existMap.put(province + "_sort", "null".equals(citySort) ? 1 : NumberUtils.toInt(citySort) + 1);
provinceCityMap.put("sort", existMap.get(province + "_sort"));
}
if (existMap.containsKey(province + "_" + city + "_")) {
provinceCityCountryList = (List<Map<String, Object>>) existMap.get(province + "_" + city + "_");
} else {
provinceCityCountryList = new ArrayList<Map<String, Object>>();
existMap.put(province + "_" + city + "_", provinceCityCountryList);
provinceCityMap.put("level", provinceCityCountryList);
}
if (existMap.containsKey(province + "_" + city + "_" + country)) {
provinceCityCountryMap = (Map<String, Object>) existMap.get(province + "_" + city + "_" + country);
} else {
provinceCityCountryMap = new HashMap<String, Object>();
existMap.put(province + "_" + city + "_" + country, provinceCityCountryMap);
provinceCityCountryList.add(provinceCityCountryMap);
String countrySort = String.valueOf(existMap.get(province + "_" + city + "_sort"));
existMap.put(province + "_" + city + "_sort", "null".equals(countrySort) ? 1 : NumberUtils.toInt(countrySort) + 1);
provinceCityCountryMap.put("sort", existMap.get(province + "_" + city + "_sort"));
}
4.3,解析existMap作用
因为假如现在没有这个map集合就会产生覆盖的作用,现在这个map的作用就是把取出来的值以不同的名字取出来放到map集合中来,假如下一次再去取的时候如果有就不在新建对象了,直接用原来的就行了,如果没有在建立新的对象。
这就解决了覆盖的问题。
同时也给sort排上了序号。
用下面的例子来说明
有就取原来的,没有就新建,这样的话就会把后面新的数据加到前面有的数据里面
举个例子,假如现在是河南省map1里面有name,code,和sort,leval集合,第一遍是地级市是安阳,当第二遍循环的时候,还是取省份这时候还是河南省,就不会新建一个map了,而是还是取原来的map1,这时候假如是新乡市,就会把新乡市,同样加在这个map当中,这样一个map当中就会有两个leval了
假如现在不是河南省了,而是陕西省了,就会新建一个map2,会把它里面的数据加载这个map2当中,
map1,map2装在一个list中返回,就有效的避免了第一种情况的产生了。
其中市县和上面也是同样的道理。
注意这个existMap里面装的数据会特别的多,比返回的provinceMap大了几万倍呢。
我们以上面的json的数据来手动遍历几遍。
4.3.1,首次遍历
{
"Code": "410000",
"Name": "河南省",
"level": [
{
"Code": "414500",
"Name": "郑州市",
"level": [
{
"Code": "414500",
"Name": "二七区",
"sort": 1
}
],
"sort": 1
}
]
}
4.3.2,2遍
{
"Code": "410000",
"Name": "河南省",
"level": [
{
"Code": "414500",
"Name": "郑州市",
"level": [
{
"Code": "414500",
"Name": "二七区",
"sort": 1
},
{
"Code": "414500",
"Name": "中原区",
"sort": 2
}
],
"sort": 1
}
]
}
4.3.3,3遍
{
"Code": "410000",
"Name": "河南省",
"level": [
{
"Code": "414500",
"Name": "郑州市",
"level": [
{
"Code": "414500",
"Name": "二七区",
"sort": 1
},
{
"Code": "414500",
"Name": "中原区",
"sort": 2
}
],
"sort": 1
},
{
"Code": "414530",
"Name": "新乡市",
"level": [
{
"Code": "414530",
"Name": "卫滨区",
"sort": 1
}
],
"sort": 2
}
]
}
4.3.4,4遍
{
"Code": "410000",
"Name": "河南省",
"level": [
{
"Code": "414500",
"Name": "郑州市",
"level": [
{
"Code": "414500",
"Name": "二七区",
"sort": 1
},
{
"Code": "414500",
"Name": "中原区",
"sort": 2
}
],
"sort": 1
},
{
"Code": "414530",
"Name": "新乡市",
"level": [
{
"Code": "414530",
"Name": "卫滨区",
"sort": 1
},
{
"Code": "414530",
"Name": "牧野区",
"sort": 2
}
],
"sort": 2
}
]
}
4.3.5,5遍
[
{
"Code": "410000",
"Name": "河南省",
"level": [
{
"Code": "414500",
"Name": "郑州市",
"level": [
{
"Code": "414500",
"Name": "二七区",
"sort": 1
},
{
"Code": "414500",
"Name": "中原区",
"sort": 2
}
],
"sort": 1
},
{
"Code": "414530",
"Name": "新乡市",
"level": [
{
"Code": "414530",
"Name": "卫滨区",
"sort": 1
},
{
"Code": "414530",
"Name": "牧野区",
"sort": 2
}
],
"sort": 2
}
]
},
{
"Code": "410000",
"Name": "陕西省",
"level": [
{
"Code": "414500",
"Name": "汉中市",
"level": [
{
"Code": "414500",
"Name": "西乡县",
"sort": 1
}
],
"sort": 1
}
]
}
]
4.3.6,6遍
[
{
"Code": "410000",
"Name": "河南省",
"level": [
{
"Code": "414500",
"Name": "郑州市",
"level": [
{
"Code": "414500",
"Name": "二七区",
"sort": 1
},
{
"Code": "414500",
"Name": "中原区",
"sort": 2
}
],
"sort": 1
},
{
"Code": "414530",
"Name": "新乡市",
"level": [
{
"Code": "414530",
"Name": "卫滨区",
"sort": 1
},
{
"Code": "414530",
"Name": "牧野区",
"sort": 2
}
],
"sort": 2
}
]
},
{
"Code": "410000",
"Name": "陕西省",
"level": [
{
"Code": "414500",
"Name": "汉中市",
"level": [
{
"Code": "414500",
"Name": "西乡县",
"sort": 1
},
{
"Code": "414500",
"Name": "南郑县",
"sort": 2
}
],
"sort": 1
}
]
}
]
4.3.7,7遍
[
{
"Code": "410000",
"Name": "河南省",
"level": [
{
"Code": "414500",
"Name": "郑州市",
"level": [
{
"Code": "414500",
"Name": "二七区",
"sort": 1
},
{
"Code": "414500",
"Name": "中原区",
"sort": 2
}
],
"sort": 1
},
{
"Code": "414530",
"Name": "新乡市",
"level": [
{
"Code": "414530",
"Name": "卫滨区",
"sort": 1
},
{
"Code": "414530",
"Name": "牧野区",
"sort": 2
}
],
"sort": 2
}
]
},
{
"Code": "410000",
"Name": "陕西省",
"level": [
{
"Code": "414500",
"Name": "汉中市",
"level": [
{
"Code": "414500",
"Name": "西乡县",
"sort": 1
},
{
"Code": "414500",
"Name": "南郑县",
"sort": 2
}
],
"sort": 1
},
{
"Code": "414530",
"Name": "宝鸡市",
"level": [
{
"Code": "414530",
"Name": "岐山县",
"sort": 1
}
],
"sort": 2
}
]
}
]
4.3.8,8遍
[
{
"Code": "410000",
"Name": "河南省",
"level": [
{
"Code": "414500",
"Name": "郑州市",
"level": [
{
"Code": "414500",
"Name": "二七区",
"sort": 1
},
{
"Code": "414500",
"Name": "中原区",
"sort": 2
}
],
"sort": 1
},
{
"Code": "414530",
"Name": "新乡市",
"level": [
{
"Code": "414530",
"Name": "卫滨区",
"sort": 1
},
{
"Code": "414530",
"Name": "牧野区",
"sort": 2
}
],
"sort": 2
}
]
},
{
"Code": "410000",
"Name": "陕西省",
"level": [
{
"Code": "414500",
"Name": "汉中市",
"level": [
{
"Code": "414500",
"Name": "西乡县",
"sort": 1
},
{
"Code": "414500",
"Name": "南郑县",
"sort": 2
}
],
"sort": 1
},
{
"Code": "414530",
"Name": "宝鸡市",
"level": [
{
"Code": "414530",
"Name": "岐山县",
"sort": 1
},
{
"Code": "414530",
"Name": "芙蓉县",
"sort": 2
}
],
"sort": 2
}
]
}
]
致此一个流程走完就大概知道它的一个流程了。
五,优化
5.1,优化一
因为existMap数据是特别大的,所以每当我们遍历完一个省份之后就把里面的数据清除
String province = map.get("province");
Map<String, Object> provinceMap = null;
if(province!=existMap.get("province")){
existMap.clear();
}
拿这一次的取出来的province和existMap里面的province对比,假如有就继续遍历,假如没有就说明换省份了,清空exitMap,这样会提升效率。
5.2,优化二
最后一次就不用王existMap里面放值了,因为我们知道没遍历一次省市可能一样,但是县绝对是不一样的。
String country = map.get("country");
Map<String, Object> provinceCityCountryMap = null;
if (StringUtils.isNotEmpty(country)) {
provinceCityCountryMap = new HashMap<String, Object>();
provinceCityCountryList.add(provinceCityCountryMap);
String countrySort = String.valueOf(existMap.get(province + "_" + city + "_sort"));
existMap.put(province + "_" + city + "_sort", "null".equals(countrySort) ? 1 : NumberUtils.toInt(countrySort) + 1);
provinceCityCountryMap.put("sort", existMap.get(province + "_" + city + "_sort"));
provinceCityCountryMap.put("Code", map.get("countryCode"));
provinceCityCountryMap.put("Name", country);
5.3,优化完之后完整的代码
public String queryFullZoneInfo() {
List<Map<String, String>> mapList = zoneInfoService.queryFullZoneInfo();
List<Map<String, Object>> zoneList = new ArrayList<Map<String, Object>>();
Map<String, Object> existMap = new HashMap<String, Object>();
for (Map<String, String> map : mapList) {
String province = map.get("province");
Map<String, Object> provinceMap = null;
if(province!=existMap.get("province")){
existMap.clear();
}
if (existMap.containsKey(province)) {
provinceMap = (Map<String, Object>) existMap.get(province);
} else {
provinceMap = new HashMap<String, Object>();
existMap.put(province, provinceMap);
zoneList.add(provinceMap);
}
provinceMap.put("Code", map.get("provinceCode"));
provinceMap.put("Name", map.get("province"));
String city = map.get("city");
if (StringUtils.isNotEmpty(city)) {
List<Map<String, Object>> provinceCityList = null;
if (existMap.containsKey(province + "_")) {
provinceCityList = (List<Map<String, Object>>) existMap.get(province + "_");
} else {
provinceCityList = new ArrayList<Map<String, Object>>();
existMap.put(province + "_", provinceCityList);
provinceMap.put("level", provinceCityList);
}
Map<String, Object> provinceCityMap = null;
if (existMap.containsKey(province + "_" + city)) {
provinceCityMap = (Map<String, Object>) existMap.get(province + "_" + city);
} else {
provinceCityMap = new HashMap<String, Object>();
existMap.put(province + "_" + city, provinceCityMap);
provinceCityList.add(provinceCityMap);
String citySort = String.valueOf(existMap.get(province + "_sort"));
existMap.put(province + "_sort", "null".equals(citySort) ? 1 : NumberUtils.toInt(citySort) + 1);
provinceCityMap.put("sort", existMap.get(province + "_sort"));
}
provinceCityMap.put("Name", city);
provinceCityMap.put("Code", map.get("cityCode"));
List<Map<String, Object>> provinceCityCountryList = null;
if (existMap.containsKey(province + "_" + city + "_")) {
provinceCityCountryList = (List<Map<String, Object>>) existMap.get(province + "_" + city + "_");
} else {
provinceCityCountryList = new ArrayList<Map<String, Object>>();
existMap.put(province + "_" + city + "_", provinceCityCountryList);
provinceCityMap.put("level", provinceCityCountryList);
}
String country = map.get("country");
Map<String, Object> provinceCityCountryMap = null;
if (StringUtils.isNotEmpty(country)) {
provinceCityCountryMap = new HashMap<String, Object>();
provinceCityCountryList.add(provinceCityCountryMap);
String countrySort = String.valueOf(existMap.get(province + "_" + city + "_sort"));
existMap.put(province + "_" + city + "_sort", "null".equals(countrySort) ? 1 : NumberUtils.toInt(countrySort) + 1);
provinceCityCountryMap.put("sort", existMap.get(province + "_" + city + "_sort"));
provinceCityCountryMap.put("Code", map.get("countryCode"));
provinceCityCountryMap.put("Name", country);
} else {
provinceCityCountryMap = new HashMap<String, Object>();
provinceCityCountryList.add(provinceCityCountryMap);
provinceCityCountryMap.put("sort", 1);
provinceCityCountryMap.put("Code", "");
provinceCityCountryMap.put("Name", "");
}
}
}
try {
return JsonUtils.toJson(zoneList);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
5.4
省市县从数据库读出来的list数据转换成json格式的数据的更多相关文章
- PHP将数据库的数据转换成json格式
header('content-type:application/json;charset=utf8'); $results = array(); while ($row = mysql_f ...
- django-将数据库数据转换成JSON格式(ORM和SQL两种情况)
最近打算搞一个自动化运维平台,所以在看Django的知识. 在实际项目开发中,遇到一个小问题:前后端发生数据交互主流采用的是JSON.前端传数据到服务器端比较简单,稍微麻烦的是服务器端传JSON到前端 ...
- 数据库获取map数据后转化成json格式的数据
一,从数据库查出来的数据 两张表先各自左外连接,然后在相互左外连接查找省市县的数据(业务需求必须这样做,省市去的是第一张表,而市县取的是第二张表,两张表中间通过市的名字连接)见这个博文的最后一张图片 ...
- 数据库记录转换成json格式 (2011-03-13 19:48:37) (转)
http://blog.sina.com.cn/s/blog_621768f30100r6v7.html 数据库记录转换成json格式 (2011-03-13 19:48:37) 转载▼ 标签: 杂谈 ...
- 用java代码将从数据库中取出的具有父子关系的数据转成json格式
思路:①.取出数据中的所有父节点放入一个集合中②.取出数据中所有为该父节点的子节点放入另一个集合中③.用到迭代的方法将子节点一层一层的遍历工具类:package com.assasion.test;i ...
- DELPHI 把数据库中的数据转换成XML格式
function ReplaceString(AString: string): string; begin Result := StringReplace(AString, '&', '&a ...
- 将 数据库中的结果集转换为json格式(三)
从数据库中得到结果集 public String list() throws Exception { Connection con = null; PageBean pageBean = new Pa ...
- 读取mysql数据库的数据,转为json格式
# coding=utf-8 ''' Created on 2016-10-26 @author: Jennifer Project:读取mysql数据库的数据,转为json格式 ''' import ...
- C++ OCCI API数据库操作之连接、返回查询结果集为json格式
使用C++操作数据库,转换返回结果集为json格式,易于解析. 以下程序的编译.运行环境:Windows 10 1803.VS2017 17.5.2(vc14).解决方案配置:Release.解决方案 ...
随机推荐
- HDU 3595 GG and MM [Every-SG]
传送门 题意: 两个数$x,y$,一个人的决策为让大数减去小数的任意倍数(结果不能为负),出现0的人胜 一堆这样的游戏同时玩 Every-SG 游戏规定,对于还没有结束的单一游戏,游戏者必须对该游戏进 ...
- BZOJ 3143: [Hnoi2013]游走 [概率DP 高斯消元]
一个无向连通图,顶点从1编号到N,边从1编号到M. 小Z在该图上进行随机游走,初始时小Z在1号顶点,每一步小Z以相等的概率随机选 择当前顶点的某条边,沿着这条边走到下一个顶点,获得等于这条边的编号的分 ...
- js跨域解决方案
1.参考该文档:http://blog.csdn.net/enter89/article/details/51205752 2. 参考网络:http://www.ruanyifeng.com/blog ...
- SQL Server 页面查询超时(SOS_SCHEDULER_YIELD等待)
一.问题概述 问题大概是这样的,有一个功能页面经常查询超时,有时候就算能查询出来也要很长的时间,但是有时又会很快.遇到的这种问题在排除掉网络原因之后基本上可以从查询语句上去找原因. 编译查询SQL语句 ...
- 让linux 服务器网卡物理口不停闪烁
[root@DBSERVER51 ~]# ethtool -p eth0 此时就会看到对应的物理口一个灯在不停的闪烁,对了.这就是我们在系统看到的那个叫eth0的网卡了.就是这么简单.
- 洛谷 P2622 关灯问题II【状压DP;隐式图搜索】
题目描述 现有n盏灯,以及m个按钮.每个按钮可以同时控制这n盏灯--按下了第i个按钮,对于所有的灯都有一个效果.按下i按钮对于第j盏灯,是下面3中效果之一:如果a[i][j]为1,那么当这盏灯开了的时 ...
- DML、DDL、DCL的区别
DML(data manipulation language): 它们是SELECT.UPDATE.INSERT.DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言DDL( ...
- the c programing language 学习过程7
interact 互动 carriage运费运输 linefeed 换行 redirection改方向 interleaved交叉存取 adequate足够的 untouched原样的 specif ...
- 2017CCPC 网络选拔赛1003 Ramsey定理
Ramsey定理 任意6个人中,一定有三个人互为朋友,或者互相不是朋友. 证明 这里我就不证明了.下面链接有证明 鸽巢原理 Ramsey定理 AC代码 #include <stdio.h> ...
- chmod 与大写 X
chmod(1) 手册页中对权限位的描述中提及到 rwxXst 六个权限标记, rwx 是几乎所有 Linux 初学者都会学到的,更进者会了解到 st 两个标记,但 X 却少有提起.所以笔者大致了解了 ...