小白求教,java中怎么获取ajax发送的json数据

小白求教,java中怎么获取ajax发送的json数据,第1张

在JS中,一般是使用eval()函数将JSON的字符串解析成JSON数据格式。

测试代码如下:

var obj = eval("("+data+")”);//转为json对象                       

alert("return_code:"+obj["return_code"]);//d出json对象return_code属性

这边需要注意的是,eval("("+data+")”)要这么写,里面还带了一对括号。原因在于:eval本身的问题。 由于json是以”{}”的方式来开始以及结束的,在JS中,它会被当成一个语句块来处理,所以必须强制性的将它转换成一种表达式。

{'innerId':innerid}:是一个对象,在此段代码就是向后台传递一个参数,后台根据这个innerid删除对应的数据;

function (data, textStatus),是Post请求的回调,就是在后台请求完成后,会调用这个函数,并传递data,和textStatus这两个参数,从字面意思来看,data根据业务处理的数据有关,textStatus应该跟>

使用原生的解析:

String json = "";

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

for (int j = 0; j < arraylength(); j++) {

obj = arraygetJSONObject(j);

Data data = new Data();

mDataListadd(data);

}

数组声明

在数组的声明格式里,“数据类型”是声明数组元素的数据类型,可以是java语言中任意的数据类型,包括简单类型和结构类型。“数组名”是用来统一这些相同数据类型的名称,其命名规则和变量的命名规则相同。

数组声明之后,接下来便是要分配数组所需要的内存,这时必须用运算符new,其中“个数”是告诉编译器,所声明的数组要存放多少个元素,所以new运算符是通知编译器根据括号里的个数,在内存中分配一块空间供该数组使用。利用new运算符为数组元素分配内存空间的方式称为动态分配方式。

百度百科-数组

通常是直接"反序列化"出自定义对象比如MySystem system使用。

如果不能直接使用,首先设计好java中"便于使用bytes的"自定义结构比如Map<String, Long> mySizes,然后以JSONObject jo=JSONparseObject(text);取出jo后,再深入遍历把数据放到mySizes中供下一步使用

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

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

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

呵呵。。

/

import javautilArrayList;

import javautilHashMap;

import javautilIterator;

import javautilMap;

import netsfezmorphbeanMorphDynaBean;

import netsfjsonJSONArray;

import netsfjsonJSONSerializer;

/

@author John

/

public class JSONDemo {

public static final String PREFIX = "index_";

/

@param args

/

public static void main(String[] args) {

Map map = new HashMap();

String str ="[{'status': 5,'remarks': '\\xe6\\xa3\\x80\\xe6\\xb5\\x8b\\xe5\\xb7\\xb2\\xe7\\xbb\\x8f\\xe5\\xae\\x8c\\xe6\\x88\\x90','session': \"(1, '92010', '192168177115', 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': '['92010']', 'type': 2}])\"], 'endTime':123}, 1L, '\\xe6\\xb5\\x8b\\xe8\\xaf\\x95\\xe6\\x89\\xab\\xe6\\x8f\\x8f\\xe4\\xbb\\xbb\\xe5\\x8a\\xa1']";

Systemoutprintln("json格式字符串-->"+str);

JSONArray array = JSONArrayfromObject(str);

Systemoutprintln("json格式字符串构造json数组元素的个数-->"+arraysize());

ArrayList list = (ArrayList) JSONSerializertoJava(array);

int i = 0;

for (Object obj : list) {

mapput(PREFIX+(i++), obj);

Systemoutprintln("第"+i+"对象-->"+obj);

}

//解析第0个位置

Map bd = new HashMap();

MorphDynaBean bean = (MorphDynaBean) mapget(PREFIX+0);

bdput("session", beanget("session"));

bdput("status", beanget("status"));

bdput("remarks", beanget("remarks"));

bdput("vuls", beanget("vuls"));

bdput("endTime", beanget("endTime"));

Iterator iter = bdkeySet()iterator();

while (iterhasNext()){

Object key = iternext();

Object value = bdget(key);

Systemoutprintln("MorphDynaBean对象-->key="+key+",value="+value);

}

//解析vuls

ArrayList vuls = (ArrayList) bdget("vuls");

Map vl = new HashMap();

int j = 0;

for (Object obj : vuls) {

vlput(PREFIX+(j++), obj);

Systemoutprintln("解析vuls的第"+i+"对象-->"+obj);

}

}

}

/

json格式字符串-->[{'status': 5,'remarks': '\xe6\xa3\x80\xe6\xb5\x8b\xe5\xb7\xb2\xe7\xbb\x8f\xe5\xae\x8c\xe6\x88\x90','session': "(1, '92010', '192168177115', 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': '['92010']', 'type': 2}])"], 'endTime':123}, 1L, '\xe6\xb5\x8b\xe8\xaf\x95\xe6\x89\xab\xe6\x8f\x8f\xe4\xbb\xbb\xe5\x8a\xa1']

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

第1对象-->netsfezmorphbeanMorphDynaBean@94948a[

{session=(1, '92010', '192168177115', 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': '['92010']', 'type': 2}])], endTime=123}

]

第2对象-->1L

第3对象-->è

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

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

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': '['92010']', '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': '['92010']', 'type': 2}])

/

java首先导入以下一个包

json-lib-23-jdk15jar

commons-beanutils-170jar

commons->

以上就是关于小白求教,java中怎么获取ajax发送的json数据全部的内容,包括:小白求教,java中怎么获取ajax发送的json数据、js获取java后台json数据、java中把json怎么转换成数组等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存