2014-09-03 105 views
0

我对json格式有疑问。我不得不产生名为数据表一个jQuery插件以下JSON的要求...JSON格式化说明行中断

{ 
    "aaData": [{ 
     "name": "Zane Music", 
     "address": "162 Castle Hill", 
     "town": "Berkshire" 
    }, { 
     "name": "Zander Exports", 
     "address": "34 Sapcote Trading Centre", 
     "town": "London" 
    }] 
} 

要尝试实现这个我使用org.json.simple并设法生产出以下...

{ 
"aaData": [{ 
    "name": "Zane Music", 
    "address": "162 Castle Hill", 
    "town": "Berkshire" 
}, { 
    "name": "Zander Exports", 
    "address": "34 Sapcote Trading Centre", 
    "town": "London" 
}] 
} 

即他们是相同的,但第二个列表是缺少换行符和格式不正确。

我的问题是这样做的消费者的问题,它是好的做法,让JSON格式良好?还有一种方法可以很好地格式化吗?

使用JSON简单,你在这样的域对象添加一个方法指定JSON ...

public String toJSONString() { 
    JSONObject obj = new JSONObject(); 
    obj.put("location", _location); 
    obj.put("locationName", _locationName); 
    obj.put("region", _region); 
    return obj.toString(); 
} 

所以我想我可以添加换行符必要。

难道这是正确的方法吗?是否有必要?

感谢

回答

1

我的问题是做这件事情为消费者和是好 做法有JSON格式良好的?

JSON specification状态

不重要的空白之前或之后的任何六种结构特征的允许的。

所以,不,空格不重要。适当的JSON消费者不会看到差异。格式化只是为了人眼​​。

还有一种方法可以很好地格式化吗?

我不知道org.json,但一些JSON解析库有一个工具或配置选项。考虑使用具有漂亮打印选项的Gson或Jackson。 Here are some more options.

+0

谢谢!这帮助了我很多。不幸的是,我不能使用gson jackson和很多其他好东西bc我部署的服务器仍然在java 1.4.2上! – Richie 2014-09-03 06:16:29

+0

@Richie在我发布的最后一个链接中,我认为有'org.json'的解决方案。可能想尝试一下。 – 2014-09-03 06:17:01

+0

我兴奋了一分钟!但后来我意识到org.json与org.json.simple不同。几乎!没关系。我现在感觉很舒服,知道这只是一个美学问题。 – Richie 2014-09-03 06:26:25