jsonarray怎么解析字符串

jsonarray怎么解析字符串,第1张

java解析json字符串时将大括号中的对应为一个类,里面的数据对应为类的属性,最后用数组接受即可。
示例关键代码如下:
//导入 netsfjsonJSONArray和netsfjsonJSONObject 两个jar 包
String str = "[{name:'a',value:'aa'},{name:'b',value:'bb'},{name:'c',value:'cc'},{name:'d',value:'dd'}]" ; // 一个未转化的字符串
JSONArray json = JSONArrayfromObject(str ); // 首先把字符串转成 JSONArray 对象
if(jsonsize()>0){
for(int i=0;i<jsonsize();i++){
JSONObject job = jsongetJSONObject(i); // 遍历 jsonarray 数组,把每一个对象转成 json 对象
Systemoutprintln(jobget("name")+"=") ; // 得到 每个对象中的属性值
}
}

var str = '{"rows":[{"ID":0,"登录账号":"admin","登录时间":"\/Date(1446772997000)\/","登录地点":"河北石家庄","登录IP":"1151811599"}]}';
var obj = eval("(" + str + ")");
consolelog(obj);

<html>
<head>
<script type="text/javascript">
var data = '{"return_code":0,"return_message":"success","data":{"data":[{"id":"1","question":"公主令牌在哪交?"},{"id":"2","question":"公主护使有什么用?"},{"id":"3","question":"角斗场在哪?"},{"id":"4","question":"北部断层在哪?"},{"id":"5","question":"欢乐令有什么用?"},{"id":"6","question":"令牌积分有什么用?"},{"id":"7","question":"南部断层在哪?"},{"id":"8","question":"大妖魔令牌交给谁?"},{"id":"9","question":"神工坊在哪?"},{"id":"10","question":"警戒妖珠有什么用?"}]}}';

function ShowData(){

var obj = eval("("+data+")");

alert("return_code:"+obj["return_code"]);
alert("return_message:"+obj["return_message"]);
alert("第一个问题id:" + obj["data"]["data"][0]["id"]);
alert("第一个内容id:" + obj["data"]["data"][0]["question"]);
}

</script>
</head>

<body onload="ShowData();">
{"return_code":0,"return_message":"success","data":{"data":[{"id":"1","question":"公主令牌在哪交?"},{"id":"2","question":"公主护使有什么用?"},{"id":"3","question":"角斗场在哪?"},{"id":"4","question":"北部断层在哪?"},{"id":"5","question":"欢乐令有什么用?"},{"id":"6","question":"令牌积分有什么用?"},{"id":"7","question":"南部断层在哪?"},{"id":"8","question":"大妖魔令牌交给谁?"},{"id":"9","question":"神工坊在哪?"},{"id":"10","question":"警戒妖珠有什么用?"}]}}
</body>
</html>

你好:

后台拆分json

private String interactPrizeAll;    //json 使用字符串来接收
方法中的代码:
Gson gson = new Gson();
InteractPrize interactPrize =new InteractPrize();
 //gson用泛型 转List数组 多个对象
List<InteractPrize > interactPrizeList = gsonfromJson(interactPrizeAll, new TypeToken<List<InteractPrize>>(){}getType()); //TypeToken,它是gson提供的数据类型转换器,可以支持各种数据集合类型转换 
for(int i = 0; i < interactPrizeListsize(); i++)  
   {  
    interactPrize = interactPrizeListget(i);//获取每一个对象
    }
 这一种方法是转单个对象时使用的
 //gson 转对象 单个对象
//interactPrize = gsonfromJso(interactPrizeAll,InteractPrizeclass);
这个方法是我后台拼的json往前台传的方法
jsonStrAllappend("{"+ "\""+"catid"+"\""+":"+"\""+cgetCatid()+"\""+","+"\""+"catname"+"\""+":"+"\""+cgetCatname()+"\""+","+ "\""+"catdesc"+"\""+":"+"\""+cgetCatdesc()+"\""+","+"\""+"showinnav"+"\""+":"+"\""+cgetShowinnav()+"\""+","+"\""+"sortorder"+"\""+":"+"\""+cgetSortorder()+"\""+","+"level:"+"\""+"0"+"\""+",parent:"+"\""+"0"+"\""+",isLeaf:true,expanded:false,"+"loaded:true},");

你自己挑着用吧!

对比

准备数据

实体类:

定义:

使用DataContractJsonSerializer

帮助类:

用法:

输出:

使用JavaScriptSerializer

// using SystemWebScriptSerialization;
   
 

var jser    = new JavaScriptSerializer();
 

var json    = jserSerialize(new List<Person>() { p1, p2 });
 

var persons = jserDeserialize<List<Person>>(json);

使用Silverlight

使用JSONNET

输出:

LINQ:

其他:

输出:





java用json的jar包比如netsfJSONObject你搜一下用法JSONObjectfromJSONObject(你的字符串);转换成一个类似map的JSONObject对象
js的话用eval方法 eval("("+你的字符串+")");

概述
接受一个JSON字符串,返回解析后的对象。
传入一个畸形的JSON字符串会抛出一个异常。比如下面的都是畸形的JSON字符串:
{test: 1} ( test 没有包围双引号)
{'test': 1} (使用了单引号而不是双引号)
另外,如果你什么都不传入,或者一个空字符串、null或undefined,parseJSON都会返回 null 。
参数
jsonStringV141
要解析的JSON字符串
示例
描述:
解析一个JSON字符串
jQuery 代码:
var obj = jQueryparseJSON('{"name":"John"}');
alert( objname === "John" );

一个json 里面装了 一个status 属性 一个message属性 一个json形式的集合
集合里面是多个 对象
每个对象 包括name location address street_id uid属性
其中location 是个map 里面又有2个属性
是这样吧
先把json转成map集合 这个map里有3个键值对 一个status 属性 一个message属性 一个json形式的集合
然后 mapget("results"); 可以得到一个json形式的集合
这个json形式的集合(实际就是字符串) 可以转换成List<对象> 的


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

原文地址: https://outofmemory.cn/yw/13401086.html

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

发表评论

登录后才能评论

评论列表(0条)

保存