我得到了具有固定架构的MsSQL Server 2012和Json字符串。

我正在尝试将Json插入服务器,必须有一种方法可以自动解析Json,然后插入所有值。

这就是Json的样子:

{
    "UUID": "1408611728327",
    "accuracy": 0,
    "timestamp": 1408611668.274444000,
    "x": -2.46,
    "y": 24.779999,
    "z": -17.46
}

最佳答案

也许用正则表达式重新格式化?这样就变成了:

insert into my_table values ('1408611728327',0,1408611668.274444000,-2.46,24.779999,-17.46);


当然,这假定表字段的顺序正确。就像是:

myJson.replace("{","("); // you need round brackets instead of the json style ones
myJson.replace("}",")");
myJson.replaceAll("\".*\": ([^,]*),","$1"); // drops the name of the columns, only keeps the values, comma separated
myJson.replaceAll("\"","\'"); // sql strings are between ' not "
myJson= "insert into my_table values " + myJson + ";";


如果json具有null属性,因此不会显示,则此操作将失败(如果x为null,则json根本不包含x,也许可以通过配置进行更改)。

10-05 19:30