如何向json对象追加一个新的数组

public static void main(String[] args) {

js中如何向json数组添加元素

jsonarray删除元素 jsonarray删除字段jsonarray删除元素 jsonarray删除字段


jsonarray删除元素 jsonarray删除字段


jsonarray删除元素 jsonarray删除字段


比如现在有一条var jsonstr=“ [{'name':'a','value':1},{'name':'b','value':2}] ”; 然后将其变成json格式的 var json=eval('('+jsonstr+')'); 现在我想直接对这个json数组进行作向其中添加元素,有没有快捷的方法,还是说必须对上面的字符串进行作再...展开

冰之幽梦 | 浏览 746 次 2013-08-26 11:44

2015-07-13 09:27

12用如下图表示:

34

78

0

12

13

14public DiffResult compareJsonObject(JSONObject oldJson, JSONObject newJson, String key, int index) {

15

16

//1、

var jsonstr="[{'name':'a','value':1},{'name':'b','value':2}]";

var jsonarray = eval('('+jsonstr+')');

"value" : $('#values').val()

}jsonarray.push(arr);

//2、

json.array1=["2","4"];// 增加一个新属性,此属性是数组

json.array1[json.array1.length]='6';// 数组追加一个元素

alert(json.array1)

JSON语言怎么写

Expected BEGIN_ARRAY but was STRING at line 1 column 27

2、JSON 常用来数据传输,因为它易于程序之前读写作。

替换一部分JSON数据

3、JSON 它其实是来自JaScript对对象(Object)的定义。但是它作为数据格式来使用的时候,和JaScript没有任何关系,它只是参照了JaScript对对象定义的数据格式。

具体可以参考以下内data.setTitle(obj.getString("title"));容:

json是于语言的数据文本格式,示例:{"属性名":"属性文本值","属性名1":属性数值}

Json不是一种语言,是一种数据格式

ja解析json格式文件

import net.sf.ezmorph.bean.MorphDynaBean;

/简单的回了复杂的也就会了/

/其实,json实际上是用来统一数据格式,所以,在使用它时,肯定要设计一下格式,

当然,所谓的复杂,只是嵌套的层次深了。。。解析方式并没有变。。个人理解,如果觉得有价值就看,没价值,就当没看见吧。。

呵呵。。

/

import ja.util.ArrayList;

import ja.util.HashMap;

import ja.util.Iterator;

import ja.util.Map;

import net.sf.json.JSONArray;

/

@author John

/

public class JSONDemo {

/

@param args

/

Map map = new HashMap();

String str ="[{'status': 5,'remarks': 'xe6xa3x80xe6xb5x8bxe5xb7xb2xe7xbbx8fxe5xaex8cxe6x88x90','session': "(1, '9.2.0.1.0', '192.168.177.115', 1521L, 'ora9', 1, '')",'vuls': ["('612300200001', 1, '', [{'values': '['version']', 'type': 0}, {'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1}])","('612300200002', 1, '', [{'values': '['version']', 'type': 0},{'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1},{'values': '['9.2.0.1.0']', 'type': 2}])"], 'endTime':123}, 1L, 'xe6xb5x8bxe8xafx95xe6x89xabxe6x8fx8fxe4xbbxbbxe5x8axa1']";

System.out.println("json格式字符串-->"+str);

JSONArray array = JSONArray.fromObject(str);

System.out.println("json格式字符串构造json数组元素的个数-->"+array.size());

ArrayList list = (ArrayList) JSONSerializer.toJa(array);

int i = 0;

for (Object obj : list) {

map.put(PREFIX+(i++), obj);

}//解析第0个位置

Map bd = new HashMap();

MorphDynaBean bean = (MorphDynaBean) map.get(PREFIX+0);

bd.put("session", bean.get("session"));

bd.put("status", bean.get("status"));

bd.put("remJSON它不是一门语言,它只是一种数据格式。arks", bean.get("remarks"));

bd.put("vuls", bean.get("vuls"));

bd.put("endTime", bean.get("endTime"));

Iterator iter = bd.keySet().iterator();

Object key = iter.next();

Object value = bd.get(key);

System.out.println("MorphDynaBean对象-->key="+key+",value="+value);

}//解析vuls

ArrayList vuls = (ArrayList) bd.get("vuls");

Map vl = new HashMap();

int j = 0;

for (Object obj : vuls) {

vl.put(PREFIX+(j++), obj);

System.out.println("解析vuls的第"+i+"对象-->"+obj);

}}

}/

json格式字符串-->[{'status': 5,'remarks': 'xe6xa3x80xe6xb5x8bxe5xb7xb2xe7xbbx8fxe5xaex8cxe6x88x90','session': "(1, '9.2.0.1.0', '192.168.177.115', 1521L, 'ora9', 1, '')",'vuls': ["('612300200001', 1, '', [{'values': '['version']', 'type': 0}, {'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1}])","('612300200002', 1, '', [{'values': '['version']', 'type': 0},{'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1},{'values': '['9.2.0.1.0']', 'type': 2}])"], 'endTime':123}, 1L, 'xe6xb5x8bxe8xafx95xe6x89xabxe6x8fx8fxe4xbbxbbxe5x8axa1']

json格式字符串构造json数组元素的个数-->3

第1对象-->net.sf.ezmorph.bean.MorphDynaBean@94948a[

{session=(1, '9.2.0.1.0', '192.168.177.115', 1521L, 'ora9', 1, ''), status=5, remarks=???????·??????????, vuls=[('612300200001', 1, '', [{'values': '['version']', 'type': 0}, {'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1}]), ('612300200002', 1, '', [{'values': '['version']', 'type': 0},{'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1},{'values': '['9.2.0.1.0']', 'type': 2}])], endTime=123}

于是在网上搜了一下,说这方面的比较少,因此自己找到的说明,详细看了看,记下来,留待以后看。]第2对象-->1L

第3对象-->???è??????????????

MorphDynaBean对象-->key=status,value=5

MorphDynaBean对象-->key=remarks,value=???????·??????????

MorphDynaBean对象-->key=vuls,value=[('612300200001', 1, '', [{'values': '['version']', 'type': 0}, {'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1}]), ('612300200002', 1, '', [{'values': '['version']', 'type': 0},{'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1},{'values': '['9.2.0.1.0']', 'type': 2}])]

MorphDynaBean对象-->key=endTime,value=123

解析vuls的第3对象-->('612300200001', 1, '', [{'values': '['version']', 'type': 0}, {'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1}])

解析vuls的第3对象-->('612300200002', 1, '', [{'values': '['version']', 'type': 0},{'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1},{'values': '['9.2.0.1.0']', 'type': 2}])

/

js怎么给循环给json数组追加元素,json数组初始为空

ja中把json怎么转换成数组的方法:

需要准备的材料分别是:电脑、html编辑器、浏览器。

jsobObject[i] = {};

1、首先,打开html编辑器,新建html文件,例如:index.html。

56

2、以追加name元素为例,在index.html的

var obj=JSON.parse(json);//先把json转换为对象

obj.key=value;

json=JSON.stringify(obj);//再转换回来 希望可以帮到你

var o = [];

for(var i=0; i<10; i++){

o.push({});

o.id = i;

}

var pics = '@Model.NContent'.split('|')[0].split('$'); //从后台传过来的值

var dess = '@Model.NContent'.split('|')[1].split('$');//从后台传过来的值

var jsonstr = "[]"; //定义一个数组形式的JSON字符串

var s = eval('(' + jsonstr + ')'); //转换为JSON

for (var i = 0; i < pics.length; i++) {

var = { source: pics[i], caption: unescape(dess[i]) };

s.push(); //这里就可以PUSH了

}

我的想法是将json按照字符串处理,在将串eval成对象

js中如何向json数组添加元素

MorphDynaBean对象-->key=session,value=(1, '9.2.0.1.0', '192.168.177.115', 1521L, 'ora9', 1, '')

var jsonstr="[{'name':'a','value':1},{'name':'b','value':2}]";

mysql> SELECT JSON_SET(@j, '$.a', 10, '$.c', '[true, false]');

var jsonarray = eval('('+jsonstr+')');

JSONArray json = JSONArray.fromObject(str ); // 首先把字符串转成 JSONArray 对象

"value" : $('#values').val()

}jsonarray.push(arr);

//2、

json.array1=["2","4"];// 增加一个新属性,此属性是数组

json.array1[json.array1.length]='6';// 数组追加一个元素

alert(json.array1)

对象的某个属性是arrayList该如何转成json,又该怎么解析json

3JSON_LENGTH(json_doc[, path])

可以使用三种方式,方法如下:

1、使用org.json.} catch (JSONException e) {JSONArray包:

JSONArray json = new JSONArray();

for(User u : list){

JSONObject jo = new JSONObject();

jo.put("id", u.getId());

jo.put("title", u.getName());

}2、使用net.sf.json包下JSONArray的静态方法:fromObject(list), 这是网上大多是直接用此方法快捷转换JSON,但是对于list的要求就是其中的元素是字符串或对象,否则JSON不知道你想要的是什么数据:

JSONArray json = JSONArray.fromObject(list);

3、使用google的gson,将list转为jso地址 n字符串:

Gson gson = new Gson();

String str = gson.toJson(list);

JSON语言怎么写

2、JSON 常用for(var j=0;j<128;j++) {来数据传输,因为它易于程序之前读写作。

3、JSON 它其实是来自JaScript对对象(Object)的定义。但是它作为数据格式来使用的时候,和JaScript没有任何关系,它只是参照了JaScript对对象定义的数据格式。

具体可以参考以下内容:

json是于语言的数据文本格式,示例:{"属性名":"属性文本值","属性名1":效果如下:属性数String resultOnline = Tool.doGetNoProxy(onlineUrl, null, "utf-8",headers);值}

Json不是一种语言,是一种数据格式

mysql json 什么时候开始支持

mDataList.add(data);

mysql json 时候开始支持

for(int i=0;i于是想到了以前的一个项目是靠着横纵表的形式实现的,就是把不确定的每个属性转成一行行的记录,这样就相当于把数据表中不确定的列转成了一行行的记录,这么做的话,每个元素多几个属性少几个属性,无非也就是记录行数的异,完全不影响了。但是这种方式有个弊端就是在查询的时候很不方便,需要把横表转成纵表才行。

正纠结着忽然就想起来MySQL版(5.7)开始支持JSON形式的数据了,这样的话,多存一列的数据,无非就是增加一个key,value了。

MySQL 函数分为四类,分别是创建(Create JSON Values)、修改(Modify JSON Values)、查询(Search JSON Values)以及返回json相关属性(Return JSON Value Attributes)的方法。

创建类的方法

JSON_ARRAY([val[, val] ...])

创建JSON数组形式的数据

SELECT JSON_ARRAY(1, "abc", NULL, TRUE, CURTIME());

[1, "abc", null, true, "11:30:24.000000"]

JSON_OBJECT([key, val[, key, val] ...])

创建一个JSON对象

SELECT JSON_OBJECT('id', 87, 'name', 'carrot');

{"id": 87, "name": "carrot"}

修改类的方法

JSON_ARRAY_APPEND(json_doc, path, val[, path, val] ...)

mysql> SET @j = '["a", ["b", "c"], "d"]';

mysql> SELECT JSON_ARRAY_APPEND(@j, '$[1]', 1);

["a", ["b", "c", 1], "d"]

JSON_ARRAY_INSERT(json_doc, path, val[, path, val] ...)

插入数据到JSON中,path为插入的路径

mysql> SET @j = '["a", {"b": [1, 2]}, [3, 4]]';

mysql> SELECT JSON_ARRAY_INSERT(@j, '$[1]', 'x');

["a", "x", {"b": [1, 2]}, [3, 4]]

JSON_MERGE(json_doc, json_doc[, json_doc] ...)

合并JSON数据

[1, 2, true, false]

删除一部分JSON数据

mysql> SET @j = '["a", ["b", "c"], "d"]';

mysql> SELECT JSON_REMOVE(@j, '$[1]');

["a", "d"]

JSON_REPLACE(json_doc, path, val[, path, val] ...)

mysql> SET @j = '{ "a": 1, "b": [2, 3]}';

mysql> SELECT JSON_REPLACE(@j, '$.a', 10, '$.c', '[true, false]');

{"a": 10, "b": [2, 3]}

JSON_SET(json_doc, path, val[, path, val] ...)

有存在的数据就替换,没有就插入

mysql> SET @j = '{ "a": 1, "b": [2, 3]}';

{"a": 10, "b": [2, 3], "c": "[true, false]"}

查询类方法

JSON_CONTAINS(json_doc, val[, path])

查找是否包含

mysql> SET @j = '{"a": 1, "b": 2, "c": {"d": 4}}';

mysql> SET @j2 = '1';

mysql> SELECT JSON_CONTAINS(@j, @j2, '$.a');

1mysql> SELECT JSON_CONTAINS(@j, @j2, '$.b');

JSON_CONTAINS_PATH(json_doc, one_or_all, path[, path] ...)

查找path(一般就是key)是否存在

mysql> SET @j = '{"a": 1, "b": 2, "c": {"d": 4}}';

mysql> SELECT JSON_CONTAINS_PATH(@j, 'one', '$.a', '$.e');

1mysql> SELECT JSON_CONTAINS_PATH(@j, 'all', '$.a', '$.e');

JSON_EXTRACT(json_doc, path[, path] ...)

分解JSON 并查询,实际上就是在提供的path下查找值

mysql> SELECT JSON_EXTRACT('[10, 20, [30, 40]]', '$[1]');

20

mysql> SELECT JSON_EXTRACT('[10, 20, [30, 40]]', '$[1]', '$[0]');

[20, 10]

JSON_EXTRACT 的替代语法 column->path

以下两种方式等价

mysql> SELECT c, JSON_EXTRACT(c, "$.id"), g

> FROM jemp

> WHERE JSON_EXTRACT(c, "$.id") > 1

> ORDER BY JSON_EXTRAmDataList.add(data);CT(c, "$.name");

mysql> SELECT c, c->"$.id", g

> FROM jemp

> WHERE c->"$.id" > 1

> ORDER BY c->"$.name";

JSON_KEYS(json_doc[, path])

提出当前提供path下的key值

SELECT JSON_KEYS('{"a": 1, "b": {"c": 30}}');

["a", "b"]

JSON_SEARCH(json_doc, one_or_all, search_str[, escape_char[, path] ...])

按着提供的值去查询,返回path数组

mysql> SET @j = '["abc", [{"k": "10"}, "def"], {"x":"abc"}, {"y":"bcd"}]';

mysql> SELECT JSON_SEARCH(@j, 'one', 'abc');

"$[0]"

mysql> SELECT JSON_SEARCH(@j, 'all', 'abc');

["$[0]", "$[2].x"]

查询JSON自有属性的方法

JSON_DEPTH(json_doc)

查询当前JSON深度

SELECT JSON_DEPTH('[10, {"a": 20}]');

查询当前层级(path)下对象或者数组的元素数量

mysql> SELECT JSON_LENGTH('{"a": 1, "b": {"c": 30}}');

js中如何向json数组添加元素

json 数组也是数组

var jsonstr="[{'name':'a','value':1},{'name':'b','value':2}]";

var jsonarray = eval('('+jsonstr+')');

"valString str = "[{name:'a',value:'aa'},{name:'b',value:'bb'},{name:'c',value:'cc'},{name:'d',value:'dd'}]" ; // 一个未转化的字符串ue" : $('#values').val()

}json//此处是进行过滤的,如果哪些字段不需要进行diff,就在这里过滤掉,例如接口返回的globalid,每次返回的值都不一样,不需要进行diffarray.push(arr);

//2、

json.array1=["2","4"];// 增加一个新属性,此属性是数组

json.array1[json.array1.length]='6';// 数组追加一个元素

alert(json.array1)

ja中把json怎么转换成数组?

for(var j=0;j<128;j++) {

有两种方法实现:

要把JSON转换成数组,可以使用Ja中的JSON库进行转换,以下是使用jackson库的示例代码:

(1)直接转换:

创建JSONArray对象、JSONObject对象,通过put方法将其数据以键值对的形式填充,如例:

//如有一个Ja实体类Person,包括以下属性:phone、、married、address。

ArrayList persons = new ArrayList();

for (int i = 0; i < 3; i++) {

persons.add(new Person("13867", "女", true, "朝阳区"));//填充Ja实体类

}JSONArray array = new JSONArray();// Json格式的数组形式

JSONObject obj;//json格式的单个对象形式

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

obj = new JSONObject();

//依次填充每一个Ja实体对象

try {

obj.put("phone", persons.get(i).getPhone());//json通过put方式以key-value形式填充

obj.put("", persons.get(i).getSex());

obj.put("married", persons.get(i).getMarried());

obj.put("address", persons.get(i).getAddress());

array.put(obj);//将JSONObject添加入JSONArray

e.printStackTrace();

}}

(2)通过GSON工具实现:

只需要创建GSON对象,通过toJson方法转换即可。如例:

//模拟Ja数据

Person person = new Person("敏敏", 23, "女", "市海淀区");

//创建GSON对象

Gson gson = new Gson();

//调用toJson方法即可转换为字符串的json格式}//测试

String json = gson.toJson(person);

String json = "...";

//遍历数组里的值,得到每个的对象,然后获取对应的值设置到声明好的对象中,终创建对象完成后添加到中,如我自己代码里的片段:

for (int j = 0; j < array.length(); j++) {

obj = array.getJSONObject(j);

Data data = new Data();

data.setThumbnail(obj.getString("thumbnail"));

data.setUrl(obj.getString(""));

}2、使用第三方包如Gson,但是这个你得保证你的JSON字符串个z

ja

Ja是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Ja 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球的开发者专业社群。

String json = "...";

//遍历数组里的值,得到每个的对象,然后获取对应的值设置到声明好的对象中,终创建对象完成后添加到中,如我自己代码里的片段:

for (int j = 0; j < array.length(); j++) {

obj = array.getJSONObject(j);

Data data = new Data();

data.setThumbnail(obj.getString("thumbnail"));

data.setUrl(obj.getString(""));

}2、使用第三方包如Gson,但是这个你得保证你的JSON字符串个z

有两种方法实现:

(1)直接转换:创建JSONArray对象、JSONObject对象,通过put方法将其数据以键值对的形式填充,

如例://如有一个Ja实体类Person,包括以下属性:phone、、married、address,ArrayList persons = new ArrayList,for (int i = 0; i < 3; i+++{persons.add(new Person("13867", "女", true, "朝阳区"));//填充Ja实体类}

JSONArray array = new JSONArray();// Json格式的数组形式JSONObject obj;//json格式的单个对象形式 for (int i = 0; i < persons.size(); i++) {obj = new JSONObject();

//依次填充每一个Ja实体对象

try{obj.put("phone",persons.get(i).getPhone());//json通过put方式以key-value形式填充obj.put("", persons.get(i).getSex());obj.put("married",persons.get(i).getMarried());obj.put("address",persons.get(i).getAddress());array.put(obj);

//将JSONObject添加入JSONArray} catch (JSONException e){e.printStackTrace();} (2)通过GSON工具实现:

如例:

//模拟Ja数据Person person = new Person("敏敏", 23, "女", "市海淀区");

//创建GSON对象Gson gson = new Gson();

//调用toJson方法即可转换为字符串的json格式String json = gson.toJson(person);

当需要把一串字符串转成一个json 数组 ,并遍历其中的内容时。

首先要导入 net.sf.json.JSONArray和net.sf.json.JSONObject 两个jar 包

if(json.size()>0){

JSONObject job = json.getJSONObject(i); // 遍历 jsonarray 数组,把每一个对象转成 json 对象

System.out.println(job.get("name")+"=") ; // 得到 每个对象中的属性值

}}

android中这样的JSON数据应该如何解析,

{"result":"true","asks":[[4168.33,0.06],[4160,0.4982],[4152,0.4401]...}

这个json不是标准的json格式,asks本身是一个数组,里面嵌套多个二维数组,就需要分层处理。

1.先把整体转换成json 1、JSON 是一种数据格式。它本身是一串字符串,只是它有固定格式的字符串,符合这个数据格式要求的字符串,我们称之为JSON。object。

2、从1中取出asks这个数组11,jsonArray

3、循环处理里面的子数组。

boolean b = j.getBoolean("result");

JSONObject j = new JSONObject(s);

JSONArray a1 = a.getJSON在 Gson 中封装了不同类型的读写的业务组装类是各个 TypeAdapter(适配器)Array(0);