我想知道如何解析一个json对象,该对象将上载到我的服务器,以从中检索admob ad ID。
例子:
{
"response":{
"Interstial AD":"ca-xxxxxxxxxxx"
}
}
将发送到
java prettyprint-override">mInterstitialAd = new InterstitialAd(this);
mInterstitialAd.setAdUnitId("JsonDATA");
mInterstitialAd.loadAd(new AdRequest.Builder().build());
mInterstitialAd.setAdListener(new AdListener(){
@Override
public void onAdLoaded() {
super.onAdLoaded();
mInterstitialAd.show();
}
}
任何帮助都将不胜感激!
编辑:
厌倦了这个:
String jsonToProcess = "https://drive.google.com/uc?id=113RUepiYecy5pBwj-t4BtBXwlQwgf-dU";
String interstialAd = new JsonParser().parse(jsonToProcess).getAsJsonObject()
.get("response").getAsJsonObject()
.get("Interstial AD").getAsString();
if (getResources().getString(R.string.admob_interstitial_id).length() > 0
&& Config.INTERSTITIAL_INTERVAL > 0
&& !SettingsFragment.getIsPurchased(this)) {
mInterstitialAd = new InterstitialAd(this);
mInterstitialAd.setAdUnitId(interstialAd);
AdRequest adRequestInter = new AdRequest.Builder().addTestDevice(AdRequest.DEVICE_ID_EMULATOR).build();
mInterstitialAd.loadAd(adRequestInter);
mInterstitialAd.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
// Load the next interstitial.
mInterstitialAd.loadAd(new AdRequest.Builder().addTestDevice(AdRequest.DEVICE_ID_EMULATOR).build());
}
});
}
我的Json文件:
{
"response": [
{
"Interstial AD": "ca-app-pub-3940256099942544/1033173712"
},
{
"Banner AD": "ca-app-pub-3940256099942544/6300978111"
}
]
}
使用Gson很容易做到这一点。。。
选项1:
按问题编辑编辑:
String jsonToProcess = "your json string here"
JsonElement jsonElement = new JsonParser().parse(json);
String iterstialAd = null;
String bannerAd = null;
for (JsonElement obj : jsonElement.getAsJsonObject().get("response").getAsJsonArray()) {
if (obj.getAsJsonObject().get("Interstial AD") != null) {
iterstialAd = obj.getAsJsonObject().get("Interstial AD").getAsString();
continue;
}
if (obj.getAsJsonObject().get("Banner AD") != null) {
bannerAd = obj.getAsJsonObject().get("Banner AD").getAsString();
continue;
}
}
选项2:
创建响应模型并反序列化您的响应。。。
import com.google.gson.annotations.SerializedName;
public class ResponseModel {
private Response response;
public Response getResponse() {
return response;
}
public void setResponse(Response response) {
this.response = response;
}
public static class Response {
@SerializedName("Interstial AD")
public String interstialAd;
public String getInterstialAd() {
return interstialAd;
}
public void setInterstialAd(String interstialAd) {
this.interstialAd = interstialAd;
}
}
}
在此之后,您可以执行以下操作:
String jsonToProcess = "your json string here";
ResponseModel model = new Gson().fromJson(jsonResponse, ResponseModel.class);
String interstialAd = model.getResponse().getInterstialAd();
请注意,除了GSon之外,还有许多用于json操作的库,比如Jackson、org的json。json。。。
希望这对你有帮助。
问题内容: 我有一些看起来像这样的JSON数据: 如何使用JSON.net解析?我可以先这样做: 我需要能够遍历此列表中的每个对象。我希望能够做这样的事情: 要么 但是当然不行。如果您在编写代码时知道键,那么所有示例都可以很好地工作。如果您事先不知道密钥,它就会崩溃。 问题答案: 这是可行的;这可行,但并不优雅。我敢肯定有更好的方法。 印刷品:
问题内容: 我正在使用NewtonsoftJson库来解析json,但我不知道如何使用它。我使用JObject解析了字符串。当我在即时窗口中输出JObject实例的值时,我得到了:- 我应该怎么做才能获得这个工作的价值? 问题答案: 我个人更喜欢将JavaScriptSerializer与.NET环境中的JSON一起使用。默认情况下,它将返回Dictionary结果,但可用于解析到自定义对象(或者
我收到以下JSON作为响应 我正在解析这个JSON,如下所示 这很好用。 我的问题是,如果JSON中缺少任何一个键,例如“名称”丢失,它就会断裂,我将无法定义 是否可以检查是否存在,然后重试? https://jsfiddle.net/o2gxgz9r/9078/ 关于我修改了json的答案 但是他自己的财产不起作用了? 请看这把小提琴 https://jsfiddle.net/o2gxgz9r/
我很困惑。据我所知,我完全遵循这些例子。也许我遗漏了一个参数,但我找不到它是什么。 控制台响应没有项目,但我有3个公共播放列表。 [Log]对象(learnadaapi.html,第68行) etag: “\”m2yskBQFythfE4irbTIeOgYYfBU/Rk41fm-2TD0VG1yv0-bkUvcBi9s\“” 项目: [] (0) 类型:“youtube#channelList响应
我正在尝试获取新加坡餐馆的所有url链接,但我的代码不起作用 它在代码 我不知道为什么会发生这种情况,即使这对其他网站很有效。 这是因为行车顾问程序块爬行还是代码错误?
问题内容: 我试图解析Java中的JSON字符串并找到键值对,以便我可以确定JSON对象的近似结构,因为JSON字符串的对象结构是未知的。 例如,一个执行可能具有这样的JSON字符串: 另一个像这样: 如何遍历各种JSON元素并确定键及其值?我看着的。我知道如何获取下一个“令牌”并确定令牌的类型(即字段名称,值,数组开头等),但是,我不知道如何获取实际令牌的值。 例如: 或其他库(或)中是否有一个