qq_34892345 2016-07-08 02:20 采纳率: 30%
浏览 4841
已采纳

json 数据转换存入到mysql

图片说明

请问各位大神这个要怎么处理 而且存入数据库的时候 是一次性存入问题1 2 3 和他对应的答案 多条数据 每个题还得带上用户的id(就是前面的openId) 都是一样的

  • 写回答

7条回答 默认 最新

  • 左边的天堂 2016-07-08 03:08
    关注

    解析看这个例子

    import net.sf.json.JSONArray;
    import net.sf.json.JSONObject;
    
    public class Test1 {
        public static void main(String[] args) {
            String content = "{\"openId\":1,\"answers\":[{\"questionId\":1,\"selectName\":\"A\"},{\"questionId\":2,\"selectName\":\"B\"},{\"questionId\":3,\"selectName\":\"D\"},{\"questionId\":4,\"selectName\":\"AC\"}]}";
            JSONObject responseJson = JSONObject.fromObject(content);
            Object openId = responseJson.get("openId");
            JSONArray answers = JSONArray.fromObject(responseJson.get("answers") + "");
            Answer my = null;
            for (int i = 0; i < answers.size(); i++) {
                JSONObject answer = JSONObject.fromObject(answers.get(i));
                my = (Answer) JSONObject.toBean(answer, Answer.class);
                my.setOpenId(openId.toString());
                System.out.println(my.toString());
            }
        }
    }
    

    打印的结果是:
    Answer [openId=1, questionId=1, selectName=A]
    Answer [openId=1, questionId=2, selectName=B]
    Answer [openId=1, questionId=3, selectName=D]
    Answer [openId=1, questionId=4, selectName=AC]

    然后你可以取出来存到数据库

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥15 服务器一块硬盘重启过程中安装后,硬盘不识别了怎么修复?
  • ¥15 微信红包不拆包 知道红包金额
  • ¥15 0基础学机器人运动控制要多久?
  • ¥15 .net core 怎么进行中英文转换
  • ¥15 数学的三元一次方程求解
  • ¥20 iqoo11 如何下载安装工程模式
  • ¥15 本题的答案是不是有问题
  • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?