JSON转义字符问题 和JSON转大小写
JSON转义字符问题
问题
{“b”:"{“enabled”:“1”,“aa”:""}",“name”:“yy”,“age”:“11”}
JSONObject a = new JSONObject();
a.put("name", "yy");
a.put("age", "11");
String b = "{\"enabled\":\"1\",\"aa\":\"\"}";
a.put("b", b);
System.out.println(a.toJSONString());
如果是这样封装的话,是会出现上面这种情况的.
StringEscapeUtils
网上有用这种方式解决的
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.5</version>
</dependency>
{“b”:"{“enabled”:“1”,“aa”:""}",“name”:“yy”,“age”:“11”}
这样就出现问题
解决办法 JSONObject parse = JSONObject.parseObject()
JSONObject a = new JSONObject();
a.put("name", "yy");
a.put("age", "11");
String b = "{\"enabled\":\"1\",\"aa\":\"\"}";
JSONObject parse = JSONObject.parseObject(b);
a.put("b", parse);
System.out.println(a.toJSONString());
{“b”:{“aa”:"",“enabled”:“1”},“name”:“yy”,“age”:“11”}
String转小写
JSON转String后转小写
public static String transformLowerCase(String json) {
String regex = "[\\\"' ]*[^:\\\"' ]*[\\\"' ]*:";// (\{|\,)[a-zA-Z0-9_]+:
Pattern pattern = Pattern.compile(regex);
StringBuffer sb = new StringBuffer();
Matcher m = pattern.matcher(json);
while (m.find()) {
m.appendReplacement(sb, m.group().toLowerCase());
}
m.appendTail(sb);
return sb.toString();
}
SQL 条件查询and括号的问题
需要做精确查询的时候,不能用到or了,会导致数据查出来很多
SELECT count(1) from xx WHERE
INSP_ORG_CODE='12330000470027240N'
or AREA_CODE_L2 in('330100','330400','330500')
or AREA_CODE_L3 in('330106','330521','330523','330155')
and TRANID='0087A1B86F094D7EB2AA36A5994EAD8C';
改成
SELECT count(1) from xx WHERE 1=1
and (INSP_ORG_CODE='12330000470027240N'
or AREA_CODE_L2 in('330100','330400','330500')
or AREA_CODE_L3 in('330106','330521','330523','330155'))
and TRANID='0087A1B86F094D7EB2AA36A5994EAD8C';