JSON格式字符串拼接问题

爱吃铜锣烧的牛叉哥 2016-11-16 10:59:34
String st = "{"name":"xiaoming","age":18,"hobby":null}"
JSONObject obj = JSONObject.parseObject(st);
String name = obj.getString("name");
if (name == null) {
name = "";
}
String age = obj.getInt("age");
if (age == null) {
age = "";
}
String hobby = obj.getString("hobby");
if (hobby == null) {
hobby = "";
}
String st1 = name+"|"+age+"|"+hobby;
请问类似这种的代码有优化的方法吗?st是一个JSON格式的字符串,我需要取到里面的字段,然后做那个拼接,但是要判断字段非空,有没有方法能边取边把字段往数组里面加?我目前面对的那个JSON格式的字符串字段太多,如果用上面那个代码太难看了
...全文
439 1 打赏 收藏 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
rendason 2016-11-16
  • 打赏
  • 举报
回复
JSONObject实现了Map<String, Object>,所以可以用Map接口的方法遍历JSONObject

public static void main(String[] args) {
	Map<String, Object> map = JSON.parseObject("{\"name\":\"xiaoming\",\"age\":18,\"hobby\":null}");
	StringBuffer sb = new StringBuffer();
	for (Object obj : map.values()) {
		sb.append('|');
		sb.append(obj == null ? "" : String.valueOf(obj));
	}
	System.out.println(sb.substring(1));
}

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧