现在要把json中data数据取出来,映射到实体上,通过jdbc批量插入数据库,这个通用代码怎么写

现在要把json中data数据取出来,映射到实体上,通过jdbc批量插入数据库,这个通用代码怎么写,第1张

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数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9336874.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存