怎样用java解析一个json字符串

{“data”:{"a":[{"b1":"bb1","c1":"cc1"},{"b2":"bb2","c2":"cc2"}]}}怎样在后台提取出bb1cc1bb2cc2?... {“data”:{"a":[{"b1":"bb1","c1":"cc1"},{"b2":"bb2","c2":"cc2"}]}}

怎样在后台提取出 bb1 cc1 bb2 cc2?
展开
 我来答
dosun5213344
推荐于2017-09-12 · 超过18用户采纳过TA的回答
知道答主
回答量:81
采纳率:0%
帮助的人:37.2万
展开全部

public static void main(String[] args){

String temp="{'data':{'a':[{'b1':'bb1','c1':'cc1'},{'b2':'bb2','c2':'cc2'}]}}";

JSONObject jodata =JSONObject.fromObject(temp);

JSONObject joa =JSONObject.fromObject(jodata.get("data").toString());

JSONArray ja=JSONArray.fromObject(joa.get("a"));

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

JSONObject o=ja.getJSONObject(i);

if(o.get("b1")!=null){

System.out.println(o.get("b1"));

}

if(o.get("c1")!=null){

System.out.println(o.get("c1"));

}

if(o.get("b2")!=null){

System.out.println(o.get("b2"));

}

if(o.get("c2")!=null){

System.out.println(o.get("c2"));

}

}

}

注:要包含两个jar包ezmorph-1.0.6.jar和json-lib-2.2.2-jdk15.jar,jar包在附件中

yugi111
2014-12-08 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
package test;

import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
import sun.org.mozilla.javascript.internal.NativeArray;
import sun.org.mozilla.javascript.internal.NativeObject;

public class Tester
{
public static void main ( String[] args )
{
ScriptEngineManager sem = new ScriptEngineManager ();
ScriptEngine se = sem.getEngineByName ("js");
String jsonstr = "{\"data\":{\"a\":[{\"b1\":\"bb1\",\"c1\":\"cc1\"},{\"b2\":\"bb2\",\"c2\":\"cc2\"}]}}";
try
{
NativeObject no = (NativeObject) se.eval ("(" + jsonstr + ")");
NativeObject data = (NativeObject) no.get ("data", null);
NativeArray na = (NativeArray) data.get ("a", null);
for ( int i = 0; i < na.getLength (); i++ )
{
NativeObject object = (NativeObject) na.get (i, null);
Object[] ids = object.getIds ();
for ( int j = 0; j < ids.length; j++ )
{
System.out.println (object.get (ids[j].toString (), null));
}
}
}
catch (ScriptException e)
{
e.printStackTrace ();
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式