JAVA中json字符串如何转化为map对象,获取数据

JAVA中json字符串如何转化为map对象,获取数据,第1张

我们需要先把json字符串转化为netsfjsonJSONObject对象,java中这样就可以完成json字符串到Map的转换了。

1将数组转换为JSON:String[] arr = {"asd","dfgd","asd","234"};JSONArray jsonarray = JSONArrayfromObject(arr);Systemoutprintln(jsonarray);

2对象转换成JSON:UserInfo user = new UserInfo(1001,"张三");JSONArray jsonArray = JSONArrayfromObject(user);Systemoutprintln( jsonArray );

3把Map转换成json, 要使用jsonObject对象:Map<String, Object> map = new HashMap<String, Object>();mapput("userId", 1001);mapput("userName", "张三");mapput("userSex", "男");JSONObject jsonObject = JSONObjectfromObject(map);Systemoutprintln(jsonObject);

4把List转换成JSON数据:List<UserInfo> list = new ArrayList<UserInfo>();UserInfo user = new UserInfo(1001, "张三");listadd(user);listadd(user);listadd(user);JSONArray jsonArray = JSONArrayfromObject(list);Systemoutprintln(jsonArray);

5

如果是js中遍历使用

var anObject = {one:1,two:2,three:3};//对json数组each

$each(anObject,function(name,value) {

});

如果是Java代码直接用for循环就行了,说白了json也是数组的一种,json对象和json数组都可以

//遍历json数组

String json1 = "{data:[{name:'Wallace'},{name:'Grommit'}]}";

jsonObjSplit = new JSONObject(json1);

JSONArray ja = jsonObjSplitgetJSONArray("data");

for (int i = 0; i < jalength(); i++) {JSONObject jo = (JSONObject) jaget(i);Systemoutprintln(joget("name"));}

//JSONObject遍历json对象

String json2 = "{name:'Wallace',age:15}";

jsonObj = new JSONObject(json2);

for (Iterator iter = jsonObjkeys(); iterhasNext();) {String key = (String)iternext();Systemoutprintln(jsonObj getString(Key));}

DELIMITER $$

USE `dw`$$

DROP FUNCTION IF EXISTS `fn_Json_getKeyValue`$$

CREATE DEFINER=`data`@`%` FUNCTION `fn_Json_getKeyValue`(

in_JsonArray VARCHAR(4096),#JSON数组字符串

in_Index TINYINT, #JSON对象序号,序号从1开始

in_KeyName VARCHAR(64)#键名

) RETURNS VARCHAR(512) CHARSET utf8

BEGIN

DECLARE vs_return VARCHAR(4096);

DECLARE vs_JsonArray, vs_Json, vs_KeyName VARCHAR(4096);

#declare vs_Json varchar(4096);

DECLARE vi_pos1, vi_pos2 SMALLINT UNSIGNED;

#写监控日志

#insert into dwt_etl_log(sp_name, title, description)

#values('dwfn_Json_getKeyValue', '通过Json键名取键值', concat('in_JsonArray=', in_JsonArray));

SET vs_JsonArray = TRIM(in_JsonArray);

SET vs_KeyName = TRIM(in_KeyName);

IF vs_JsonArray = '' OR vs_JsonArray IS NULL

OR vs_KeyName = '' OR vs_KeyName IS NULL

OR in_Index <= 0 OR in_Index IS NULL THEN

SET vs_return = NULL;

ELSE

#去掉方括号

SET vs_JsonArray = REPLACE(REPLACE(vs_JsonArray, '[', ''), ']', '');

#取指定的JSON对象

SET vs_json = SUBSTRING_INDEX(SUBSTRING_INDEX(vs_JsonArray,'}', in_index),'}',-1);

IF vs_json = '' OR vs_json IS NULL THEN

SET vs_return = NULL;

ELSE

SET vs_KeyName = CONCAT('"', vs_KeyName, '":');

SET vi_pos1 = INSTR(vs_json, vs_KeyName);

IF vi_pos1 > 0 THEN

#如果键名存在

SET vi_pos1 = vi_pos1 + CHAR_LENGTH(vs_KeyName);

SET vi_pos2 = LOCATE(',', vs_json, vi_pos1);

IF vi_pos2 = 0 THEN

#最后一个元素没有','分隔符,也没有结束符'}'

SET vi_pos2 = CHAR_LENGTH(vs_json) + 1;

END IF;

SET vs_return = REPLACE(MID(vs_json, vi_pos1, vi_pos2 - vi_pos1), '"', '');

END IF;

END IF;

END IF;

RETURN(vs_return);

END$$

DELIMITER ;

测试: {"old_current_score":"2","new_current_score":"0","old_grade_id":"1","new_grade_id":"1","grade_time":"2016-04-09 00:43:26","grade_upgrade_time":"2017-04-09 00:43:26"}

select fn_Json_getKeyValue(reason,1,'old_grade_id');

C#怎么从>

Web Service接口方法

 [WebMethod]

public string Project(string paramaters)

{

return paramaters;

}

实现代码

public string Post(string methodName, string jsonParas)

{

string strURL = Url + "/" + methodName;

//创建一个>

以上就是关于JAVA中json字符串如何转化为map对象,获取数据全部的内容,包括:JAVA中json字符串如何转化为map对象,获取数据、json数据请问怎么遍历、如何在java中获取mysql5.7版本里的json-CSDN论坛等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存