是否有更简单的方法将json字符串文字转换为json对象而不是手动编码“\”。
示例数据但是我的数据远大于此。
{"phonetype":"N95","cat":"WP"}
//Easier way? Equivalent of JSON.Stringify({"phonetype":"N95","cat":"WP"})?
JSONObject jsonObj = new JSONObject("{\"phonetype\":\"N95\",\"cat\":\"WP\"}");
答案 0 :(得分:1)
你的最终目标是什么?为什么字符串需要直接在Java文件中?就此而言,为什么报价逃避问题呢?对我来说,似乎你有一个不必要的约束(例如“这个字符串需要内联”或“这需要一个字符串”),如果你删除它将更容易使用。
在Java之外存储复杂的JSON
对我来说,这几乎肯定是你最好的选择。您将数据描述为“远大于[{"phonetype":"N95","cat":"WP"}
]”,这意味着它是数据,而不是代码,您可以更好地将它们分开。在需要的时候使用你想要的任何工具加载文件,你就是金色的。 将您的设置存储为JSON以外的其他内容
JSON很适合很多东西,但是如果你需要内联的JSON并且不能使用外部文件,那就告诉我你的Java和你的JSON之间有一些非常紧密的耦合,这是没有意义的。你最好存储类型安全的常量,或者将这些数据保存在“真正的”Java中,而不是在你解析的字符串中。不要担心转义
我不认为这适用于您的情况,但如果您有少量的JSON,您确实想要内联和JSON,那么只需将其删除并转义一些引号即可完成。如果这个选项看起来有问题,因为a)数据经常变化或者b)数据庞大而且复杂,可以直接使用,这是一个非常明显的标志,你实际上想要上面的选项1.
答案 1 :(得分:0)
答案 2 :(得分:-1)
Mabye这会有帮助吗?
JSONObject jsonObj = new JSONObject("{'phonetype':'N95','cat':'WP'}");