java解析json数据成数组
用java怎么把这样的json数据解析成数组?json数据的格式如下:[{"a":"111","b":"222","c":"333"},{"a":"1000","b":"...
用java怎么把这样的json数据解析成数组?
json数据的格式如下:
[{"a":"111","b":"222","c":"333"},{"a":"1000","b":"2000","c":"000"},{"a":"999","b":"300","c":"700"}]
我希望把a对应的数据全部放到一个数组中,把b对应的数据放到一个数组中,把c对应的数据放到一个数组中,有没有高手会的,求助………… 展开
json数据的格式如下:
[{"a":"111","b":"222","c":"333"},{"a":"1000","b":"2000","c":"000"},{"a":"999","b":"300","c":"700"}]
我希望把a对应的数据全部放到一个数组中,把b对应的数据放到一个数组中,把c对应的数据放到一个数组中,有没有高手会的,求助………… 展开
5个回答
展开全部
String arr = "[{\"a\":\"111\",\"b\":\"222\",\"c\":\"333\"},{\"a\":\"1000\",\"b\":\"2000\",\"c\":\"000\"},{\"a\":\"999\",\"b\":\"300\",\"c\":\"700\"}]";
List<String> aList = new ArrayList<String>();
List<String> bList = new ArrayList<String>();
List<String> cList = new ArrayList<String>();
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;i<aList.size();i++){
if(i==0)
System.out.print("a:");
System.out.print(aList.get(i)+" ");
}
for(int i=0;i<bList.size();i++){
if(i==0)
System.out.print("b:");
System.out.print(bList.get(i)+" ");
}
for(int i=0;i<cList.size();i++){
if(i==0)
System.out.print("c:");
System.out.print(cList.get(i)+" ");
}
追问
不好意思啊,你的代码也是正确的,本来想给你的,结果点错了,给个赞
展开全部
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();
}
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
JacksonUtils.mapperObject("[" + JacksonUtils.mapperJSON(JacksonUtils
.mapperObject(
"{\"id\":1004"}}",
xx.class)) + "]", new TypeReference<List<InspectionClient>>() {
})
.mapperObject(
"{\"id\":1004"}}",
xx.class)) + "]", new TypeReference<List<InspectionClient>>() {
})
追问
请问这个有全的代码么?在我这里有好多错呀,需要导包么
追答
嗯,需要导入json_simple-1.1.jar,public static T mapperObject(String content, Class clazz) {
ObjectMapper mapper = new ObjectMapper();
try {
return mapper.readValue(content, clazz);
} catch (IOException e) {
e.printStackTrace();
return null;
}
}-------public static String mapperJSON(Object value) {
try {
return new String(mapperJsonBytes(value), "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
return null;
}
}----public static T mapperObject(String content, TypeReference typeRef) {
ObjectMapper mapper = new ObjectMapper();
//mapper.enableDefaultTyping();
try {
return mapper.readValue(content, typeRef);
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以把json返回来的内容放在一个StringBuffer 然后通过拆分,重新组合成你想要的数组格式
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个有现成的jar包啊。
有很多种,你百度搜索java json jar包。
有很多种,你百度搜索java json jar包。
追问
我也知道,可是我现在没实现我要的这个东西,只是实现了把大括号取出来
追答
这个不用什么实现吧。
import org.codehaus.jettison.json.JSONArray;
import org.codehaus.jettison.json.JSONException;
import org.codehaus.jettison.json.JSONObject;
JSONArray ja;
ja = new JSONArray(feeItem);feeItem 是json结构的字符串
for(int i=0;i<ja.length();i++){
JSONObject iObj=ja.getJSONObject(i);
String feeTypeId=iObj.getString(" ");
String fee=iObj.getString(" ");
}
jar包用的是jettison-1.0-RC2.jar
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询