我有一个大的JSON数据结构,我用Gson输出,我遇到了一个项目的问题。处理JSON的JavaScript期望其中一个值是函数,但是我看不到输出不带引号的字符串的方法。
为清楚起见,我在班上有这个成员变量:
private String myFunction = "$.foo.Bar";
目前,当我将其转换为JSON时,我得到:
"myFunction":"$.foo.Bar"
我需要的是:
"myFunction":$.foo.Bar
作为一个背景,myFunction变量的值被传递给jQuery isFunction
函数。当它作为字符串传入时,显然会返回false。
我尝试使用自定义类型替换String
并提供序列化程序,但后来我不得不生成一个JsonPrimitive
元素而没有帮助。
答案 0 :(得分:1)
你不能用gson做到这一点,因为这不是json.org中定义的有效json格式。
根据性能考虑,您可以执行以下操作:
String gson = "string containing somewhere in \"myFunction\":\"$.foo.Bar\" ...";
gson = gson.replace("\"myFunction\":\"$.foo.Bar\"", "\"myFunction\":$.foo.Bar");