Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1999|回复: 1
打印 上一主题 下一主题

解析json json串转对象

[复制链接]

697

主题

1142

帖子

4086

积分

认证用户组

Rank: 5Rank: 5

积分
4086
跳转到指定楼层
楼主
发表于 2017-8-7 18:12:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 java 于 2017-8-10 19:15 编辑
  1. String jsonString = stringHttpResponse.getContent();
  2.             ObjectMapper mapper = new ObjectMapper();
  3.             try {

  4.                 JsonNode root = mapper.readTree(jsonString);
  5.                 Integer code = Integer.valueOf(root.get("code").asText());
  6.                 String msg = root.get("msg").asText();
  7.                 JsonNode dataAd = root.get("data");
  8.                 Integer adCount = Integer.valueOf(dataAd.get("adCount").asText());
  9.                 JsonNode adList = dataAd.get("adList");
  10.                 if (code == 0 && adCount == 1) {
  11.                     eventToast.setUrl(adList.get(0).get("url").asText());
  12.                     eventToast.setDeepLink(adList.get(0).get("deepLink").asText());
  13.                     eventToast.setText(adList.get(0).get("text").asText());
  14.                     eventToast.setTextLeft(adList.get(0).get("textLeft").asText());
  15.                     eventToast.setTextRight(adList.get(0).get("textRight").asText());
  16.                     eventToast.setActionId(Integer.valueOf(adList.get(0).get("actionId").asText()));

  17.                     JsonNode tkLoadUrlsNode = adList.get(0).get("tkLoadUrls");
  18.                     if (tkLoadUrlsNode.size() > 0) {
  19.                         String tkLoadUrl = tkLoadUrlsNode.get(0).asText();
  20.                         eventToast.getTkLoadUrls().add(tkLoadUrl);
  21.                     }

  22.                     JsonNode tkExposureUrlsNode = adList.get(0).get("tkExposureUrls");
  23.                     if (tkExposureUrlsNode.size() > 0) {
  24.                         String tkExposureUrl = tkExposureUrlsNode.get(0).asText();
  25.                         eventToast.getTkExposureUrls().add(tkExposureUrl);
  26.                     }

  27.                     JsonNode tkClickUrlsNode = adList.get(0).get("tkClickUrls");
  28.                     if (tkClickUrlsNode.size() > 0) {
  29.                         String tkClickUrl = tkClickUrlsNode.get(0).asText();
  30.                         eventToast.getTkClickUrls().add(tkClickUrl);
  31.                     }
  32.                 }
  33.             } catch (IOException ex) {
  34.                 logger.error("VipPayServiceImpl handleAdResult: parse data failed, data = '{}', errorMsg = '{}'", stringHttpResponse.getContent(), ex.getMessage());
  35.             }
复制代码
回复

使用道具 举报

697

主题

1142

帖子

4086

积分

认证用户组

Rank: 5Rank: 5

积分
4086
沙发
 楼主| 发表于 2017-8-8 11:21:14 | 只看该作者
本帖最后由 java 于 2017-8-10 19:14 编辑

import com.fasterxml.jackson.databind.JsonNode;
JsonNode root = retMapper.readTree(jsonString);
  String result = root.get("result").asText();
  Iterator<JsonNode> realElements = dataType.elements();
                while (realElements.hasNext()) {
                 JsonNode realElement = realElements.next();
                }



http://neverflyaway.iteye.com/blog/2299805
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|firemail ( 粤ICP备15085507号-1 )

GMT+8, 2024-11-23 09:39 , Processed in 0.058631 second(s), 19 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表