qq_30212947
豆根β
2017-12-14 06:52
采纳率: 100%
浏览 3.0k
已采纳

Java中JSON字符串指定某个key进行加密

Json字符串:{"code":"0000","success":true,"results":{"code":"0000","userId":364,"openid":"null","shopId":null,"brandId":66,"roleId":1,"entityName":null,"menuList":[{"id":258,"name":"xxx","pid":255,"type":2},{"id":259,"name":"xxx","pid":255,"type":2}],"loginName":"xxx"}}
需求:shopId,id 这两个属性值进行加密
有什么好的办法,正则替换什么的。

因为字符串内容是未知的,不能装换成JSON对象操作

已经解决了
图片说明
图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

10条回答 默认 最新

  • dcxy0
    Q544471255 2017-12-16 01:49
    已采纳

    哦看到了,其实也可以用instanceof判断,不过还是没indexOf判断的精确。

    点赞 评论
  • feiduxin
    计算机信徒 2017-12-14 06:56

    是用阿里巴巴的fastjson 将字符串转成 JSONOBject 对象,从对象中到 shopID, id值,并进行加密 后重新赋值,在转成json字符串

    点赞 评论
  • u012887385
    kominancy 2017-12-14 07:04

    可以先把json串转成json对象,然后加密参数,再将json对象转换成json字符串
    例如:
    String jsonStr = "{\"shopId\":\"200\"}";
    JSONObject jSONObject = JSONObject.fromObject(jsonStr);
    String shopId = jSONObject.getString("shopId");
    jSONObject.put("shopId", "加密后的字符串");

    点赞 评论
  • miraclelxb
    做自己的伯乐 2017-12-14 07:06

    再转换成JSON对象,再将JSON对象中的id和shopId两个属性进行加密,最后再转换成json字符串。

    点赞 评论
  • Mr_yangzc
    Mr丶YangZCH 2017-12-14 07:08

    JSONObject jsonObj= JSONObject.fromObject(jsonStr);

    String value= jsonObj.getString(key);

    点赞 评论
  • avenccssddnn
    ipple1986 2017-12-14 07:45
    JSONObject jsonObj= JSONObject.fromObject(jsonStr);
    String value= jsonObj.getString(key);
    
    点赞 评论
  • liushimiao0104
    小卒过河0104 2017-12-14 08:52

    用google的Gson转嘛。

    点赞 评论
  • oliver_105397
    Ultraman_TigaSang 2017-12-14 09:06

    看看能不能转成Map,然后遍历

    点赞 评论
  • as_csdn
    代码的灵魂是bug! 2017-12-15 01:33

    用android studio 的插件,gsonformat,把json串放进去,自动生成bean,省事。。。

    点赞 评论
  • qq_30212947
    豆根β 2017-12-15 02:40

    已经解决了 在内容里面有代码

    点赞 评论

相关推荐