gpt4 book ai didi

java - 如何将 JSON 数据保存到数据库中

转载 作者:行者123 更新时间:2023-12-04 05:53:27 26 4
gpt4 key购买 nike

我正在尝试将网站的 JSON 响应保存到数据库中。稍后我正在访问这个 JSON 字符串来处理数据。但我无法将其解析为 JSON 对象。在分析时,我意识到字符串的字符需要转义。由于我将数据保存为字符串,因此作为 JSON 数据返回的数据结果不会在数据库中转义。有没有办法将 JSON 数据保存到数据库中。

例子:

   {"RULE":[{"replace":{"value":"","type":"text"},"match":{"value":"<a [^>]*><img   src="[^"]*WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites[^>]*>\s*</a>","type":"text"}},{"replace":{"value":"","type":"text"},"match":{"value":"<a [^>]*><img src="[^"]*WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites[^>]*>\s*</a>","type":"text"}}]}

想要在数据库中保存为(也得到响应),即 "和\被转义
   {"RULE":[{"replace":{"value":"","type":"text"},"match":{"value":"<a [^>]*><img src=\"[^\"]*WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites[^>]*>\\s*</a>","type":"text"}},{"replace":{"value":"","type":"text"},"match":{"value":"<a [^>]*><img src=\"[^\"]*WindowsLiveWriter/IconsfordifferentSocialBookmarkingSites[^>]*>\\s*</a>","type":"text"}}]}

这是我用来将数据保存在数据库中的代码
                      // here the raw_data is the data from the website
JSONObject jo = new JSONObject(raw_data);

// Get the JSONObject value associated with the search result key.
jo = jo.getJSONObject("pipe");
jo = jo.getJSONObject("definition");

String def=jo.toString();

JSONArray jo1=jo.getJSONArray("modules");
JSONArray jo2=jo.getJSONArray("wires");

/*
* Write the contents in the data base
*
*
*/
def =def.replaceAll( "[']", "\\\\\'" ); //creates problem for strings with '
def =def.replaceAll( "&", "%26" );

String tablename="PipesTable2";
System.out.println(def);
database d=new database();

最佳答案

我建议您创建一个属性映射到 json 的类。您可以使用第三方工具将对象转换为 json 或 json 到对象。您可以使用 Gson。

现在,当您获得 josn 时,您可以将此 json 转换为对象并将该对象的属性保存到数据库中。当您检索值时,将这些值设置为对象的属性,然后将此对象转换为 json。

你可以在这里找到 Gson -
http://code.google.com/p/google-gson/

这很容易使用。

关于java - 如何将 JSON 数据保存到数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9798021/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com