Json对象未在android中解析

Json对象未在android中解析,android,json,jsonobject,Android,Json,Jsonobject,我试图在我的android应用程序中解析json,我正确地接收到json,但当我尝试解析它时,它似乎并没有解析好 这是我收到的json: "GetAdResult": { "Action": null, "ActionValue": null, "BgColor": "blue", "CampId": 19, "CampType": "cpm", "ClickAddress": null, "EndAnimation": null, "ExplainText": "", "ImageTyp

我试图在我的android应用程序中解析json,我正确地接收到json,但当我尝试解析它时,它似乎并没有解析好

这是我收到的json:

   "GetAdResult": {
"Action": null,
"ActionValue": null,
"BgColor": "blue",
"CampId": 19,
"CampType": "cpm",
"ClickAddress": null,
"EndAnimation": null,
"ExplainText": "",
"ImageType": null,
"ImageUrlBanner": null,
"ImageUrlLargeBanner": null,
"ImageUrlMediumRectangle": null,
"ImageUrlFullBanner": null,
"ImageUrlLeaderBoard": null,
"LogoUrl": "",
"MainText": "",
"PackageName": "",
"ReplaceText": "",
"StartAnimation": null,
"VideoUrl": null,
"type":"ad"
"atag":null,
"message":"success",
"pixel":null,
"script":null,
"token":null
}
这就是我试图解析它的方式:

    public class JsonObjectSend
{
    private static final String TAG_action = "Action";
    private static final String TAG_acValue = "ActionValue";
    private static final String TAG_bg = "BgColor";
    private static final String TAG_id = "CampId";
    private static final String TAG_ctype = "CampType";
    private static final String TAG_adr = "ClickAddress";
    private static final String TAG_endAnim = "EndAnimation";
    private static final String TAG_expText = "ExplainText";
    private static final String TAG_imType = "ImageType";
    private static final String TAG_imgUBanner = "ImageUrlBanner";
    private static final String TAG_imgULBanner = "ImageUrlLargBanner";
    private static final String TAG_imgUMRect = "ImageUrlMediumRectange";
    private static final String TAG_imgUFBanner = "ImageUrlFullBanner";
    private static final String TAG_imgULeadBrd = "ImageUrlLeaderBoard";
    private static final String TAG_logoU = "LogoUrl";
    private static final String TAG_mainText = "MainText";
    private static final String TAG_packName = "PackageName";
    private static final String TAG_repText = "ReplaceText";
    private static final String TAG_startAnim = "StartAnimation";
    private static final String TAG_videoU = "VideoUrl";
    private static final String TAG_type = "type";
    private static final String TAG_atag = "atag";
    private static final String TAG_msg = "message";
    private static final String TAG_pix = "pixel";
    private static final String TAG_scrpt = "script";
    private static final String TAG_tkn = "token";

    public void sendobj()
    {
        JSONObject root = new JSONObject();
        JSONObject reqBody = new JSONObject();

        try {
            reqBody.put("DeviceId", "sdasda");
            reqBody.put("AppId", "ECC7BCE40126408386BCFCF8AB9187E7");
            reqBody.put("AdType", "text");
            reqBody.put("Location", "35.7209331,51.472983");
            reqBody.put("UserOperator", "Irancell");
            reqBody.put("Ip", "127.0.0.1");
            reqBody.put("NetworkType", "3G");
            reqBody.put("DeviceType", "Android");
            reqBody.put("DeviceBrand", "Samsung");
            reqBody.put("Width", "0");
            reqBody.put("Height", "0");
            reqBody.put("TestMode", "true");
            root.put("request", reqBody);

        }
        catch (JSONException e)
        {
            e.printStackTrace();
        }
        String tag_string_req = "Send_Object";

        JsonObjectRequest Req = new JsonObjectRequest(Request.Method.POST, AppConfig.API_URL, root, new Response.Listener<JSONObject>()
        {
            @Override
            public void onResponse(JSONObject response)
            {
                try
                {
                    JSONObject jObj = response;
                    JSONObject GetAdResult = jObj.getJSONObject("GetAdResult");
                    Log.d("GetAdResult", GetAdResult.toString());
                    String action = GetAdResult.getString(TAG_action);
                    String actionvalue = GetAdResult.getString(TAG_acValue);
                    String bg = GetAdResult.getString(TAG_bg);
                    String campid = GetAdResult.getString(TAG_id);
                    String camptype = GetAdResult.getString(TAG_ctype);
                    String clickadr = GetAdResult.getString(TAG_adr);
                    String endanim = GetAdResult.getString(TAG_endAnim);
                    String exptext = GetAdResult.getString(TAG_expText);
                    String imgtype = GetAdResult.getString(TAG_imType);
                    String imgurlbanner = GetAdResult.getString(TAG_imgUBanner);
                    String imgurllargebanner = GetAdResult.getString(TAG_imgULBanner);
                    String imgurlmedrectangle = GetAdResult.getString(TAG_imgUMRect);
                    String imgurlfullbanner = GetAdResult.getString(TAG_imgUFBanner);
                    String imgurlleaderboard = GetAdResult.getString(TAG_imgULeadBrd);
                    String logourl = GetAdResult.getString(TAG_logoU);
                    String maintext = GetAdResult.getString(TAG_mainText);
                    String packagename = GetAdResult.getString(TAG_packName);
                    String replacetext = GetAdResult.getString(TAG_repText);
                    String startenim = GetAdResult.getString(TAG_startAnim);
                    String videourl = GetAdResult.getString(TAG_videoU);
                    String type = GetAdResult.getString(TAG_type);
                    String atag = GetAdResult.getString(TAG_atag);
                    String msg = GetAdResult.getString(TAG_msg);
                    String pixel = GetAdResult.getString(TAG_pix);
                    String script = GetAdResult.getString(TAG_scrpt);
                    String token = GetAdResult.getString(TAG_tkn);
                    Log.d("hg3uewygrhefkj","ufdjklc");
                    Log.d("action", action);
                    Log.d("actionvalue",actionvalue);
                    Log.d("Back",bg);
                    /*
                        String errorMsg = jObj.getString("error_msg");
                        Log.d("Debug", errorMsg);
                    }*/
                }
                catch (JSONException e)
                {
                    e.printStackTrace();
                }
            }
        }, new Response.ErrorListener() {

            @Override
            public void onErrorResponse(VolleyError error) {
                Log.d("error", "Error");
                Log.i("onErrorResponse", error.toString());
                NetworkResponse response = error.networkResponse;
                if (error instanceof ServerError && response != null) {
                    try {
                        String res = new String(response.data, HttpHeaderParser.parseCharset(response.headers));
                        // Now you can use any deserializer to make sense of data
                        JSONObject jsonbody = new JSONObject(res);
                    } catch (UnsupportedEncodingException e1) {
                        // Couldn't properly decode data to string
                        e1.printStackTrace();
                    } catch (JSONException e2) {
                        // returned data is not JSONObject?
                        e2.printStackTrace();
                    }
                }
            }
        });


        // Adding request to request queue
        AppController.getInstance().addToRequestQueue(Req, tag_string_req);
    }


}//class end
公共类JsonObjectSend
{
私有静态最终字符串标记_action=“action”;
私有静态最终字符串标记\u acValue=“ActionValue”;
私有静态最终字符串标记\u bg=“BgColor”;
私有静态最终字符串标记\u id=“CampId”;
私有静态最终字符串标记\u ctype=“CampType”;
私有静态最终字符串标记\u adr=“ClickAddress”;
私有静态最终字符串标记_endAnim=“EndAnimation”;
私有静态最终字符串标记_expText=“ExplainText”;
私有静态最终字符串标记\u imType=“ImageType”;
私有静态最终字符串标记\u imgUBanner=“ImageUrlBanner”;
私有静态最终字符串标记_imgULBanner=“ImageUrlLargBanner”;
私有静态最终字符串标记\u imgUMRect=“ImageUrlMediumRectange”;
私有静态最终字符串标记\u imgUFBanner=“ImageUrlFullBanner”;
私有静态最终字符串标记\u imgULeadBrd=“ImageUrlLeadboard”;
私有静态最终字符串标记_logoU=“LogoUrl”;
私有静态最终字符串标记_mainText=“mainText”;
私有静态最终字符串标记_packName=“PackageName”;
私有静态最终字符串标记_repText=“ReplaceText”;
私有静态最终字符串标记\u startAnim=“StartAnimation”;
私有静态最终字符串标记\u videoU=“VideoUrl”;
私有静态最终字符串标记\u type=“type”;
私有静态最终字符串标记\u atag=“atag”;
私有静态最终字符串标记\u msg=“message”;
私有静态最终字符串标记_pix=“pixel”;
私有静态最终字符串标记_scrpt=“script”;
私有静态最终字符串标记\u tkn=“token”;
公共无效sendobj()
{
JSONObject root=新的JSONObject();
JSONObject reqBody=新的JSONObject();
试一试{
请求主体put(“设备ID”、“SDA”);
请求主体put(“AppId”、“ECC7BCE40126408386BF8AB9187E7”);
请求正文内容(“AdType”、“text”);
请求主体put(“位置”,“35.7209331,51.472983”);
请求主体put(“用户操作员”、“Irancell”);
要求主体投入(“Ip”、“127.0.0.1”);
请求主体put(“网络类型”、“3G”);
reqBody.put(“设备类型”、“安卓”);
reqBody.put(“设备品牌”、“三星”);
要求主体放置(“宽度”、“0”);
要求主体放置(“高度”、“0”);
请求主体put(“TestMode”、“true”);
root.put(“请求”,请求主体);
}
捕获(JSONException e)
{
e、 printStackTrace();
}
String tag\u String\u req=“发送对象”;
JsonObjectRequest Req=新的JsonObjectRequest(Request.Method.POST,AppConfig.API_URL,root,new Response.Listener()
{
@凌驾
公共void onResponse(JSONObject响应)
{
尝试
{
JSONObject jObj=响应;
JSONObject GetAdResult=jObj.getJSONObject(“GetAdResult”);
Log.d(“GetAdResult”,GetAdResult.toString());
String action=GetAdResult.getString(TAG_action);
String actionvalue=GetAdResult.getString(TAG_acValue);
String bg=GetAdResult.getString(TAG_bg);
字符串campid=GetAdResult.getString(标记id);
String camptype=GetAdResult.getString(TAG_ctype);
String clickadr=GetAdResult.getString(TAG\u adr);
String endanim=GetAdResult.getString(TAG_endanim);
String exptext=GetAdResult.getString(TAG_exptext);
String imgtype=GetAdResult.getString(TAG_imType);
String imgurlbanner=GetAdResult.getString(TAG_imgUBanner);
String imgurllargebanner=GetAdResult.getString(TAG_imgULBanner);
String imgurledrectangle=GetAdResult.getString(TAG_imgUMRect);
String imgurlfullbanner=GetAdResult.getString(TAG_imgUFBanner);
String imgurleaderboard=GetAdResult.getString(TAG_imgULeadBrd);
String logourl=GetAdResult.getString(TAG_logoU);
String maintext=GetAdResult.getString(TAG_maintext);
String packagename=GetAdResult.getString(TAG_packName);
String replacetext=GetAdResult.getString(TAG_repText);
String startenim=GetAdResult.getString(TAG_startAnim);
String videourl=GetAdResult.getString(TAG\u videoU);
字符串类型=GetAdResult.getString(标记类型);
String atag=GetAdResult.getString(TAG_atag);
String msg=GetAdResult.getString(TAG_msg);
字符串像素=GetAdResult.getString(TAG_pix);
String script=GetAdResult.getString(TAG_scrpt);
字符串标记=GetAdResult.getString(标记\u tkn);
Log.d(“hg3uewygrhefkj”、“ufdjklc”);
日志d(“行动”,行动);
Log.d(“actionvalue”,actionvalue);
日志d(“背面”,背景);
/*
String errorMsg=jObj.getString(“error_msg”);
Log.d(“调试”,errorMsg);
}*/
}
捕获(JSONException e)
{
e、 printStackTrace();
}
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
Log.d(“错误”、“错误”);
Log.i(“onErrorResponse”,error.toString());
NetworkResponse=错误。NetworkResponse;
if(错误实例of ServerError&&response!=n
public String parseJSONForTranslation(String jsonString) {
try {
    JSONObject object = (JSONObject) new JSONTokener(jsonString).nextValue();
    return object.getJSONObject("GetAdResult").getString("BgColor");
}
catch (JSONException e) {
    return null;
}
public String parseJSON(String jsonString) {
 JSONObject object = new JSONObject(jsonString);
 JSONObject adResultObj=object.optJSONObject("GetAdResult");
 String bgColor=adResiltObj.optString("BgColor");
 String campId=adResiltObj.optString("CampId");

} catch (Exception e) {

   return null;
}