「java解析数组json」谈谈对java数组的理解

博主:adminadmin 2023-01-07 23:54:10 645

本篇文章给大家谈谈java解析数组json,以及谈谈对java数组的理解对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java中Json怎样解析数据?

你这个JSON格式,就是数组里面放数组,所以是,取JSON对象》取JSON数组data》取JSON数组。

import java.util.ArrayList;import java.util.Iterator;import net.sf.json.*;public class MainClass {/*** @param args*/public static void main(String[] args) {JSONObject jsonObj = JSONObject.fromObject(JsonData.getData());JSONArray jsonArr = jsonObj.getJSONArray("data");IteratorJSONArray itr = jsonArr.iterator();JSONArray temp;while(itr.hasNext()) {temp = itr.next();System.out.println("===========Each JSONArray=========");for(int i = 0; itemp.size(); i++) {System.out.println(temp.get(i));}}}private static class JsonData {private static String getData() {return "{\"data\":[[5000235,2,3441,8,17,\"北京测试\",\"10000101111\",\"\",\"\",\"100001\",\"\",\"2011-09-23 17:20:07\",18,\"vhcDefaultPwd\",1,0,\"2011-09-20 00:00:00\",12,0,380,\"测试\",213,1,0,0,0,0,0,\"2012-11-05 14:35:23\",\"\"],[5000236,27,3442,10,17,\"北京测试2\",\"1230000\",\"\",\"\",\"2010920002\",\"111111\",\"2011-09-23 17:20:08\",18,\"vhcDefaultPwd\",1,0,\"2011-09-20 00:00:00\",12,0,380,\"测试2\",213,1,0,0,0,0,0,\"2012-11-05 14:35:23\",\"\"]]}";}}}

java 如何解析JSON

一、JSON(JavaScriptObjectNotation)一种简单的数据格式,比xml更轻巧。Json建构于两种结构:1、“名称/值”对的集合(Acollectionofname/valuepairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hashtable),有键列表(keyedlist),或者关联数组(associativearray)。如:{“name”:”jackson”,“age”:100}2、值的有序列表(Anorderedlistofvalues)。在大部分语言中,它被理解为数组(array)如:{“students”:[{“name”:”jackson”,“age”:100},{“name”:”michael”,”age”:51}]}二、java解析JSON步骤A、服务器端将数据转换成json字符串首先、服务器端项目要导入json的jar包和json所依赖的jar包至builtPath路径下(这些可以到JSON-lib官网下载:)然后将数据转为json字符串,核心函数是:publicstaticStringcreateJsonString(Stringkey,Objectvalue){JSONObjectjsonObject=newJSONObject();jsonObject.put(key,value);returnjsonObject.toString();}B、客户端将json字符串转换为相应的javaBean1、客户端获取json字符串(因为android项目中已经集成了json的jar包所以这里无需导入)publicclassHttpUtil{publicstaticStringgetJsonContent(StringurlStr){try{//获取HttpURLConnection连接对象URLurl=newURL(urlStr);HttpURLConnectionhttpConn=(HttpURLConnection)url.openConnection();//设置连接属性httpConn.setConnectTimeout(3000);httpConn.setDoInput(true);httpConn.setRequestMethod("GET");//获取相应码intrespCode=httpConn.getResponseCode();if(respCode==200){returnConvertStream2Json(httpConn.getInputStream());}}catch(MalformedURLExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}return"";}privatestaticStringConvertStream2Json(InputStreaminputStream){StringjsonStr="";//ByteArrayOutputStream相当于内存输出流ByteArrayOutputStreamout=newByteArrayOutputStream();byte[]buffer=newbyte[1024];intlen=0;//将输入流转移到内存输出流中try{while((len=inputStream.read(buffer,0,buffer.length))!=-1){out.write(buffer,0,len);}//将内存流转换为字符串jsonStr=newString(out.toByteArray());}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}returnjsonStr;}}2、获取javaBeanpublicstaticPersongetPerson(StringjsonStr){Personperson=newPerson();try{//将json字符串转换为json对象JSONObjectjsonObj=newJSONObject(jsonStr);//得到指定jsonkey对象的value对象JSONObjectpersonObj=jsonObj.getJSONObject("person");//获取之对象的所有属性person.setId(personObj.getInt("id"));person.setName(personObj.getString("name"));person.setAddress(personObj.getString("address"));}catch(JSONExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}returnperson;}publicstaticListgetPersons(StringjsonStr){Listlist=newArrayList();JSONObjectjsonObj;try{//将json字符串转换为json对象jsonObj=newJSONObject(jsonStr);//得到指定jsonkey对象的value对象JSONArraypersonList=jsonObj.getJSONArray("persons");//遍历jsonArrayfor(inti=0;i

java解析json字符串 放到数组中

java解析json字符串时将大括号中的对应为一个类,里面的数据对应为类的属性,最后用数组接受即可。

示例关键代码如下:

//导入 net.sf.json.JSONArray和net.sf.json.JSONObject 两个jar 包

String str = "[{name:'a',value:'aa'},{name:'b',value:'bb'},{name:'c',value:'cc'},{name:'d',value:'dd'}]" ;  // 一个未转化的字符串

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

if(json.size()0){

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

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

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

  }

}

java解析json数据成数组

String arr = "[{\"a\":\"111\",\"b\":\"222\",\"c\":\"333\"},{\"a\":\"1000\",\"b\":\"2000\",\"c\":\"000\"},{\"a\":\"999\",\"b\":\"300\",\"c\":\"700\"}]";

ListString aList = new ArrayListString();

ListString bList = new ArrayListString();

ListString cList = new ArrayListString();

JSONArray jsa = JSONArray.fromObject(arr);

for(Object obj : jsa){

JSONObject jso = JSONObject.fromObject(obj);

aList.add( jso.get("a").toString() );

bList.add( jso.get("b").toString() );

cList.add( jso.get("c").toString() );

}

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

if(i==0)  

System.out.print("a:");

System.out.print(aList.get(i)+" ");

}

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

if(i==0)  

System.out.print("b:");

System.out.print(bList.get(i)+" ");

}

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

if(i==0) 

System.out.print("c:");

System.out.print(cList.get(i)+" ");

}

如何解析json 数组 java

定义和json数组元素相同的类 Test a =JSON.parseObject(data, Test.class);

直接用Object 转  Object obj = JSON.parseObject(data, Object.class)

如何把一个java数组解析成json数组

import net.sf.json.JSONArray;

public class TestJson

{

public static void main(String []args)

{

String json = "[{\"a\":\"111\",\"b\":\"222\",\"c\":\"333\"},{\"a\":\"1000\",\"b\":\"2000\",\"c\":\"000\"},{\"a\":\"999\",\"b\":\"300\",\"c\":\"700\"}]";

JSONArray jsonArr = JSONArray.fromObject(json);

String a[] = new String[jsonArr.size()];

String b[] = new String[jsonArr.size()];

String c[] = new String[jsonArr.size()];

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

a[i] = jsonArr.getJSONObject(i).getString("a");

b[i] = jsonArr.getJSONObject(i).getString("b");

c[i] = jsonArr.getJSONObject(i).getString("c");

}

for (int i = 0; i c.length; i++) {

System.out.print(a[i]+" ");

System.out.print(b[i]+" ");

System.out.print(c[i]);

System.out.println();

}

}

}

关于java解析数组json和谈谈对java数组的理解的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。