我目前正在编写一个基于Spring的Web服务应用程序,其中服务调用的结果应该使用相当通用的类 ActionReply
发送 . 此类包含 private Map<String, Object> parameters = new HashMap<>();
,其中可以存储从数据库检索的对象 . 现在值实际上可以是任何类,但主要是我的基类 BaseObject
的子类 . 我现在面临的问题是当我尝试将存储在该映射中的 Locale
对象作为值时返回的JSON字符串如下所示:
reply: <200,{"parameters":{"DATA":["de_DE"]},"successful":true,"errorMessage":null,"subsequentContext":null},{Content-Type=[application/json;charset=UTF-8], Transfer-Encoding=[chunked], Date=[Sun, 09 Dec 2018 13:15:21 GMT]}>So
所以基本上没问题,但是语言环境对象被解释为String,这似乎很正常,因为JSON字符串中没有关于 Locale
类的信息 . 所以我的问题是,我如何传递这些信息,或者在创建/从 Map 创建 Locale
对象而不是 String
对象时我需要做什么?
谢谢!
2 回答
我找到了一个基于JSONPath的解决方案:
以下代码段对我来说很好:
也许我没有正确地关注你,但是如果你在String上得到Locale而你想要Locale对象,你必须做这样的事情:
另一方面,您似乎没有获得有效的JSON对象,但是如果您只需要
locale
并且无法提取它,那么执行以下操作:这样你就可以在String上获得一个有效的json,现在你可以将它成功转换为JSON对象并提取语言环境对象 .