你好,我正在做一个项目,我必须更新一个充满JSON数据的数据库。然而,这些数据如下所示:
{“Id\”:\“1”,\“探测\”:\“1.075\”,\“空\”:\“0”,\“满\”:\“100\”,\“容量M”:\“3.918\”,\“能力Id\”:\“3.918\”,\"LCG\":\"3.779\",\"TCG\":\"0\",\“VCG”:\“VCG”:\“2.39\”,\“密克罗尼西亚联邦”:\“4.492\”}
但是,如果我将原始数据转换为json格式(来自CSV文件),则如下所示:
{"ID":1,“发声”:1.075,“空”:0.000,“满”:100.000,“容量”:3.918,“容量”:3.918,"LCG":3.779,"TCG":0.000,"VCG":2.390,"FSM ":0.000}
我如何添加所有的斜杠,如在第一个,以使它是正确的格式?我真的需要他们吗?
发布于 2012-12-03 20:41:43
看起来数据库中的字符串是javascript (或者C-或Java-,您应该检查)字符串转义。最简单的方法是使用org.apache.commons.lang3.StringEscapeUtils.escapeEcmaScript()或org.apache.commons.lang.StringEscapeUtils.escapeJavaScript()方法。还可以检查这些类的其他方法。
另一种方法是将第一个JSON作为字符串存储在第二个temp对象中,然后将第二个JSON对象转换为string,然后获取包含第一个JSON对象的转义字符串值的子字符串(我认为这将是第二个JSON字符串中第三个和最后一个双引号之间的部分)。有点烦躁,但避免添加额外的库。
发布于 2012-12-03 19:14:47
看起来数据已经转义到某些编程语言的字符串/文本文本格式。
发布于 2012-12-03 19:26:41
如果我没有误解任何东西,我认为您可以使用json_parse解决这个问题。
下面是一个例子:http://jsfiddle.net/mqchen/yEJdq/
json_parse(data, function(key, value) {
var floatVal = parseFloat(value);
return !isNaN(floatVal) && isFinite(value) ? floatVal : value;
});它使用json_parse,但发送给它一个委托,它将看起来像数字的字符串解释为数字。
编辑:这是一个版本,它也将所有键转换为大写(万一您也想要):http://jsfiddle.net/mqchen/yEJdq/2/
https://stackoverflow.com/questions/13689898
复制相似问题