点X不NG
2016-11-29 09:36
采纳率: 51.5%
浏览 2.9k

关于字符串String转json或者object 的蛋疼问题?

servlet的request获取前端ajax的data内容,但是内容是json格式 的,遍百度找了一个处理方法,获取的内容不是json而是一个长字符串

(内容为下{'entryId':'30',
'albumId':'410',
'content':'check update last one second'}
);这是json 的数据 经过处理后得到(entryId=30&albumId=410&content=check+update+last+one+second) ,然后问题来了。想把这个字符串转化为json或者一个object
用了 fastjson 和Google gson的转换都不行 报错,英文确实很差,看国外论坛的一知半解,就觉得是这个字符串不符合json的样式的原因。求大神解答,不胜感激涕零......

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

7条回答 默认 最新

  • 果冻剑客 2016-11-29 09:51
    已采纳
    public void testParseJson(){
        String json ="entryId=30&albumId=410&content=check+update+last+one+second";
        String [] jsonArray = json.split("&");
        Map map = new HashMap();
        for (String string : jsonArray) {
            map.put(string.split("=")[0], string.split("=")[1]);
        }
        System.out.println(JSONObject.toJSONString(map));
    
    }
    
    
    测试过了请采纳,使用 fastjson 包
    
    点赞 评论
  • qq_35172613 2016-11-29 09:36

    提示:map可转json,对象也可以转json

    点赞 评论
  • nothway 2016-11-29 09:51

    'check update last one second 以空格进行分割 然后加上''就可以转换成json吧

    点赞 评论
  • Teny里神医 2016-11-29 09:58

    JSON格式目前是前端界面展示数据的主流格式;在后台通过接口调用返回的数据一般是String格式,这时可以通过一些第三方的JAR来处理。例如

    com.alibaba
    fastjson
    1.2.21

    点赞 评论
  • nothway 2016-11-29 10:02

    public static String contentToJson (String s){
    //String s = "check update last one second";
    String[] split = s.split("\s+");
    StringBuilder builder = new StringBuilder();
    builder.append("\"content\":{");
    for(String sp :split){
    builder.append("\""+sp+"\",");
    }
    builder.append("}");
    builder.deleteCharAt(builder.length()-2);
    //System.out.println(builder.toString());
    return builder.toString();
    }

        //结果"content":{"check","update","last","one","second"}
    
    点赞 评论
  • Teny里神医 2016-11-29 10:04

    楼主也可以把这个字符串拷贝出来,粘贴到这里;
    http://c.runoob.com/front-end/53
    图片说明

    点赞 评论
  • le猫 2020-08-04 15:42

    正好是自己想要找的string转json方法 赞赞赞

    点赞 评论

相关推荐 更多相似问题