java對json增刪改查,java對json文件的增刪改查

本文目錄一覽:

java用json傳值怎麼寫修改

json格式的數據可以使用delete 方法刪除數據,代碼示例: var countrys = {“newval”:[{“Country_code”:”101″,”Country_name”:”中國”},{“Country_code”:”102″,”Country_name”:”美國”}] };//增加var c = {“Country_code”:”103″,”Country_name”:”英

jquery對json數據進行增刪改查的例子,求高手指點,我是新手,沒怎麼接觸過

對json數據進行增刪改查,大部分是要對json數組進行操作,我定義一個數組,進行操作

var list=[

{

id:1,

name:”張三”,

age:12

},

{

id:2,

name:”李四”,

age:21

},

{

id:3,

name:”王五”,

age:31

}

];

這個json數組有三個對象,每個對象有三個屬性,id,name,age

//增操作,增加一個叫小胖的人

var obj={

id:4,

name:”小胖”,

age:3

}

//push方法可以向數組進行增加操作

list.push(obj);

//console.log會在瀏覽器f12時在控制太看到,建議用谷歌瀏覽器

console.log(obj);

//刪操作,刪除剛剛叫小胖的人

//delnum用來記錄要刪除的人的索引

var delnum=-1;

//用$.each進行循環,function裡面的i,item是數組裡每個對象的索引和具體對象,可以打印查看,方便理解

$.each(list,function(i,item){

console.log(i);

console.log(item);

if(item.name==”小胖”){

delnum=i;

}

});

//splice方法表示從數組從索引delnum開始,刪除1個對象

list.splice(delnum,1);

//打印一下

console.log(list);

//改操作,修改所有人大於20歲的人,姓名前加一個“大”

//也是用$.each

$.each(list,function(i,item){

if(item.age20){

item.name=”大”+item.name;

}

})

//查操作,其實已經貫穿在上面了,查詢所有大於20歲的人並打印出來

//用newlist記錄查詢的結果

var newlist=[];

//也是用$.each

$.each(list,function(i,item){

if(item.age20){

//這一步不理解的,可以去看前面的增操作

newlist.push(item)

}

})

//打印查詢結果,會有姓名為李四和王五的數據出來(因為已經做了改操作,其實應該是“大李四”和“大王五”)

console.log(newlist);

手敲得代碼

在實際的java開發項目中想要實現簡單的增刪改查具體需要掌握哪些技能

最簡單的,整合一下springboot和mybatis,配置一下mysql數據庫,就可以完成基本的功能了,網上搜索一下教程就可以。io,多線程這些前期基本用不到,不掌握也能開發

求一個java web的項目 框架是ssh 裡邊要用到ajax jquery json 實現增刪查改功能

首先將下面代碼COPY下來寫成一個js;

!– 開始–

//自動補全

//autoInput 自動補全輸入組件ID

//自動補全UL列表ID

function AutoComplete(autoInputId, autoULId) {

var child = null;

//獲取服務器數據value文本框輸入值,list數據庫返回集合,valueProperty使用list對象的那個屬性作為vlaue值

this.autoComplete = function (value,list) {

//清空上次數據

DWRUtil.removeAllOptions(autoULId);

if (child != null value == child.innerHTML) {

return;

}

if (value == “”) {

return;

}

child = null;

if (list.length 0) {

$(autoULId).style.display = “block”;

for (i = 0; i list.length; i++) {

var title = list[i];

var li = document.createElement(“li”);

li.ondblclick = function () {

child = li;

$(autoInputId).value = li.innerHTML;

$(autoULId).style.display = “none”;

};

li.innerHTML =title;//li.innerHTML 表示數據庫中的tname

//alert(li.innerHTML);

$(autoULId).appendChild(li);

}

} else {

$(autoULId).style.display = “none”;

}

};

//當按下上下按鈕的時候選中數據

window.document.onkeydown = function () {

var key = window.event.keyCode;

//向下

if (key == 40) {

if (child == null) {

var nextNode = $(autoULId).firstChild;

if (nextNode != null) {

child = nextNode;

child.style.backgroundColor = “powderblue”;

}

} else {

var nextNode = child.nextSibling;

if (nextNode != null) {

child.style.backgroundColor = “”;

child = child.nextSibling;

child.style.backgroundColor = “powderblue”;

}

}

//向上

} else {

if (key == 38) {

if (child != null) {

var previousNode = child.previousSibling;

if (previousNode != null) {

child.style.backgroundColor = “”;

child = child.previousSibling;

child.style.backgroundColor = “powderblue”;

}

}

} else {

if (key == 13) {

if (child != null) {

$(autoInputId).value = child.innerHTML;

$(autoULId).style.display = “none”;

}

}

}

}

};

//設置補全數據位置

window.onload = function () {

var oRect = $(autoInputId).getBoundingClientRect();

$(autoULId).style.left = oRect.left – 42;

$(autoULId).style.top = oRect.top + 20;

};

}

!–結束– 如果以上js保存不起就將js的編碼改為gbk(JS右鍵屬性就是了),

!– 關於上面這個Js你就不要問我為什麼了。因為我也不知道 。我只知道我要用的時候我導進來就行了–

現在就要看jsp頁面了:

1.首先:導入上面寫入的js,然後在web.xml去配置,然後再在IE中進去測試。找到其它的js.

2.寫入以下樣式

style type=”text/css”

.aul{list-style-type: none;width: 150px;position: absolute;display: none;}

.aul li{background-color: expression(sourceIndex%2==0?’lavender’:’beige’)}

/style

3.函數以及回調函數如下:

script type=”text/javascript”

//創建自動補全對象

var auto= new AutoComplete(‘dictType’,’ul1′); //前面一個是input的id,後一個就是ui的id咯

function autoName(value){

DWRService.findTypeByName(value, // DWRService是在dwr.xml中的名稱.. findTypeByName是Biz中的方法///方法根據輸入的值進行like查詢返回list

function(list){

auto.autoComplete(value,list);

});

}

/script 4.最後一步: //下面這個input是你輸入的框要補的那個.. (表示不清..不知道怎麼說)

input type=”text” name=”basDict.dictType” id=”dictType”

onpropertychange=”autoName(this.value)”

ul class=”aul” id=”ul1″ style=”cursor:pointer;” !–一定是普通的標籤..ui是呆會查詢符合條件的值顯示的位置 !–上面這些代碼是我從我前幾天做的項目中copy下來的。

如果你按我這種方式去實現Ajax去實現的話有什麼不明白的。可以問我。不過我這幾天白天都在做項目,最好晚上留言給我。 呵。不好意思啊。。

再說明一下,整個我都是用dwr框架去實現的/.—-

biz方法如下:

public List findTypeByName(String tName) {

String hql = “select distinct d.dictType from BasDict as d where d.dictType like ‘%”+tName+”%'”;

return super.getHibernateTemplate().find(hql);

} dwr.xml配置如下:

dwr

allow

create creator=”spring” javascript=”DWRService”

param name=”beanName” value=”BasDictBiz”/

/create

/allow

/dwr 要是做出來效果你不滿意你可以改一下jsp上的頁面上的代碼。使下拉的更漂亮

!—說了那麼多了,就這樣啊。。打字都打累了….呵。。希望你早日解決此問題–

用Java語言:從下列Json數組中只展示“productTypeName=公路零擔”的數據集?

java處理json,最經典的做法還是將String字符串轉換成對象來處理。

需要藉助第三方jar包,常見的第三方json處理jar包有:阿里巴巴的fastjson,谷歌的gson還有諸如jackson之類的。

我習慣用gson:

1、引入gson依賴或去網上下載其jar包:

dependency

groupIdcom.google.code.gson/groupId

artifactIdgson/artifactId

version2.3.1/version

/dependency

2、根據json串,定義對象:

首先定義json最外層,我稱其為Response,Response中有根節點data:

這裡我用了lombok的@Data註解,自動生成getter、setter、toString等方法。

然後定義了根節點對象Data1,裡面有Record集合records:

之後就是定義Record的各個字段:

現在我就有了完整的數據結構,使用gson進行轉換即可:

接下來拿着response對象進行正常的java邏輯處理就行:

完整代碼:

public class TController {

public static void main(String[] args) {

String jsonString = “{\n” +

“\”data\”:{\n” +

“\”records\”:[\n” +

“{\n” +

“\”couponName\”:\”\”,\n” +

“\”payTime\”:\”2021-11-15 11:11:33\”,\n” +

“\”providerEndAddress\”:\”\”,\n” +

“\”paidMoney\”:268,\n” +

“\”weihuUserId\”:\”0\”,\n” +

“\”productTypeName\”:\”公路零擔\”\n” +

“},\n” +

“{\n” +

“\”couponName\”:\”\”,\n” +

“\”payTime\”:\”2021-11-15 11:11:33\”,\n” +

“\”providerEndAddress\”:\”\”,\n” +

“\”paidMoney\”:268,\n” +

“\”weihuUserId\”:\”0\”,\n” +

“\”productTypeName\”:\”航空運輸\”\n” +

“}\n” +

“]\n” +

“}\n” +

“}”;

Gson gson = new Gson();

Response response = gson.fromJson(jsonString, Response.class);

Data1 data = response.getData();//取出data

ListRecord records = data.getRecords();//取出records

for (int i = 0; i records.size(); i++) {

//循環判斷records中的數據,ProductTypeName不為“公路零擔”則移除

if (!”公路零擔”.equals(records.get(i).getProductTypeName())) {

records.remove(i);

i–;

}

}

data.setRecords(records);//覆蓋原有的records

response.setData(data);//覆蓋原有的data

System.out.println(gson.toJson(response, Response.class));//轉成json字符串輸出

}

@Data

private class Response {

private Data1 data;

}

@Data

private class Data1 {

private ListRecord records;

}

@Data

private class Record {

private String couponName;

private String payTime;

private String providerEndAddress;

private String paidMoney;

private String weihuUserId;

private String productTypeName;

}

}

運行結果:

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/206772.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-08 14:17
下一篇 2024-12-08 14:17

相關推薦

發表回復

登錄後才能評論