json是一个String,格式是[{},{},{}]。你可以用String的方法来获取值。首先,按照逗号把json数组划分为String数组。转化后是[{},{},{}] 再按照逗号把字段值取出为String数组。例子如下:
[{id:"1",name:"xyz"},{id:"2",name:"abc"}]String [] 数组1 = {id:"1",name:"xyz"}+{id:"2",name:"abc"}
String [] id1 = {"1","xyz"}
String [] id2 = {"2","abc"}
可以使用fastjson解析器:
import comalibabafastjsonJSON;
public static void testStrToJSONObject(){
Map<String,Object> m2 = new HashMap<String, Object>();
m2put("p1", "v1");
m2put("p2", "v2");
m2put("p3", "v3");
m2put("p4", "v4");
m2put("p5", "v5");
Systemoutprintln(JSONtoJSON(m2));
}
json的数据jsonloads进来以后会变成一个json的对象,你需要自己把python对象中的字段值取出来,拼成sql语句
你可以把这个过程封装成一个函数
import json
def save_json(json_str):
obj = jsonloads(json_str)
sql = 'insert into tbl values ("%s")' % obj['id'] #这里注意编码,要转成数据库的编码格式
#blabla
直接varchar或者text之类的类型即可插入。在Mysql57或以上可以支持JSON数据类型。其他的数据库你可以参考他的不同版本,考虑是否支持JSON数据类型,如果不支持就用字符串类型。但是要考虑长度。
PS:如果是用客户端链接,那么就算数据库支持,那客户端也得是最新版支持JSON的,要不然数据库支持,工具以为不支持!
最近有一个需求,前端向后台提交json,后台解析并且将提交的值插入数据库中,
难点
1、php解析json(这个不算难点了,网上实例一抓一大把)
2、解析json后,php怎样拿到该拿的值
<php
require
('connectphp');
/
本例用到的数据:
post_array={"order_id":"0022015112305010013","buyer_id":"2","seller_id":"1","all_price":"10000","json_list":[{"product_id":"3","product_number":"3"},{"product_id":"8","product_number":"2"},{"product_id":"10","product_number":"4"}]}
/
$post_array=$_POST['post_array'];
//--解析Json,获取对应的变量值
$obj=json_decode($post_array,TRUE);
$order_id
=
$obj['order_id'];
$buyer_id
=
$obj['buyer_id'];
$seller_id
=
$obj['seller_id'];
$all_price
=
$obj['all_price'];
$i=0;//循环变量
//--得到Json_list数组长度
$num=count($obj["json_list"]);
//--遍历数组,将对应信息添加入数据库
for
($i;$i<$num;$i++)
{
$list_product_id[]=$obj["json_list"][$i]["product_id"];
$list_product_number[]=$obj["json_list"][$i]["product_number"];
$insert_order_product_sql="INSERT
INTO
tbl_order_product
(order_id,product_id,product_number)
VALUES
(,,)";
$result
=
$sqlconn
->
prepare($insert_order_product_sql);
$result
->
bind_param("sss",
$order_id,$list_product_id[$i],$list_product_number[$i]);
$result->execute();
}
//--添加订单信息
$insert_order_sql="INSERT
INTO
tbl_order
(order_id,buyer_id,seller_id,all_price)
VALUES
(,,,)";
$result=$sqlconn->prepare($insert_order_sql);
$result->bind_param("ssss",$order_id,$buyer_id,$seller_id,$all_price);
$result->execute();
$result
->
close();
$sqlconn
->
close();
>
投稿者信息
昵称:
Hola
Email:
jamcistos@outlookcom
public ActionResult GetValue()
{
ChangePasswordModel model1 = new ChangePasswordModel();
model1OldPassword = "111";
model1NewPassword = "222";
return thisJson(model1);//返回对象到前台
}
这样返回的model1对象就会传递到result中去,前台可以直接使用resultNewPassword来取值
如下
$ajax(
{
url: "GetValue", //表示提交给的action
type: "post", //提交方法
datatype: "json",//数据类型
success: function (result) { //返回的结果自动放在resut里面了
alert(resultNewPassword);
}
});
PHP获取JSON的数据可以使用内置的 json_decode() 就可以解码为PHP变量,可根据自己需要的格式来进行格式化并提交到数据库。
例如:
<php$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json));
var_dump(json_decode($json, true));
>
将会输出
object(stdClass)#1 (5) {["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
array(5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
ASP 获取JSON 数据:<script language="JScript" runat="Server">
function toObject(json) {
eval("var o=" + json);
return o;
}
</script>
<%
Dim json
json ="{""px_name"":""第二届"",""px_ksjs"":""2014-03-11"",""px_kcfl"":""培训课程""}"
Set json = toObject(json)
ResponseWrite jsonpx_name & " <br/>"
ResponseWrite jsonpx_ksjs & " <br/>"
ResponseWrite jsonpx_kcfl & " <br/>"
Set json = Nothing
%>
2写入数据库
OleDbConnection conn = new OleDbConnection();
connConnectionString = "Provider=MicrosoftJetOLEDB40;Data Source=|DataDirectory|db1mdb";
OleDbCommand comm = new OleDbCommand();
connOpen();
commConnection = conn;
commCommandText = "Insert Into [Time] ([begin],[over],[name]) Values (@begin,@over,@name)";
commParametersAddWithValue("@begin", a);
commParametersAddWithValue("@over", b);
commParametersAddWithValue("@name", c);
commExecuteNonQuery();
connClose();
注意:
1、以上代码是以access数据为例。
2、如果表里面有其他不能为空的字段存在,需要给他们提供值,自动增加的字段除外。
3、db1mdb文件的只读属性去掉,在文件的属性-安全性里面,添加 everyone帐号和NETWORK Service 帐号可修改权限。
以上就是关于现在要把json中data数据取出来,映射到实体上,通过jdbc批量插入数据库,这个通用代码怎么写全部的内容,包括:现在要把json中data数据取出来,映射到实体上,通过jdbc批量插入数据库,这个通用代码怎么写、怎么把数据库里面的数据取出来转换成json格式。急!!!、如何将从接口取到的json数据存入mysql数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)