【问题标题】:Unexpected token when using json使用 json 时出现意外的令牌
【发布时间】:2020-12-23 13:09:58
【问题描述】:

我已经编码了 JSON(使用encodeURIComponent)字符串:

%5B%7B%22question_id%22%3A%22survey_id_1%22%2C%22question%22%3A%22%D0%A1%D1%82%D1%80%D0%B0%D0%BD%D0%B0%20%D0%BF%D1%80%D0%BE%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%22%2C%22answer%22%3A%22%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_2%22%2C%22question%22%3A%22%D0%92%D0%BE%D0%B7%D1%80%D0%B0%D1%81%D1%82%22%2C%22answer%22%3A%22%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_3%22%2C%22question%22%3A%22%D0%9D%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%22%2C%22answer%22%3A%22%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_4%22%2C%22question%22%3A%22%D0%9F%D0%BE%D0%BB%22%2C%22answer%22%3A%22%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_5%22%2C%22question%22%3A%22%D0%A0%D0%BE%D1%81%D1%82%20(%D1%81%D0%BC)%22%2C%22answer%22%3A%22%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_6%22%2C%22question%22%3A%22%D0%92%D0%B5%D1%81%20(%D0%BA%D0%B3)%22%2C%22answer%22%3A%22%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_7%22%2C%22question%22%3A%22%D0%A3%20%D0%BC%D0%B5%D0%BD%D1%8F%20%D0%B8%D0%BC%D0%B5%D1%8E%D1%82%D1%81%D1%8F%20%D0%B4%D0%BE%D0%BB%D0%B3%D0%BE%D0%B6%D0%B8%D1%82%D0%B5%D0%BB%D0%B8%20%D0%B2%20%D1%80%D0%BE%D0%B4%D1%83%22%2C%22answer%22%3A%22no%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_8%22%2C%22question%22%3A%22%D0%A3%D1%80%D0%BE%D0%B2%D0%B5%D0%BD%D1%8C%20IQ%22%2C%22answer%22%3A%22%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_9%22%2C%22question%22%3A%22%D0%A1%D0%B5%D0%BC%D0%B5%D0%B9%D0%BD%D0%BE%D0%B5%20%D0%BF%D0%BE%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5%22%2C%22answer%22%3A%22%22%2C%22date_first%22%3A%22%22%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_10%22%2C%22question%22%3A%22%D0%A3%20%D0%BC%D0%B5%D0%BD%D1%8F%20%D1%81%D1%87%D0%B0%D1%81%D1%82%D0%BB%D0%B8%D0%B2%D1%8B%D0%B9%20%D0%B1%D1%80%D0%B0%D0%BA%22%2C%22answer%22%3A%22no%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_11%22%2C%22question%22%3A%22%D0%92%20%D0%B6%D0%B8%D0%B7%D0%BD%D0%B8%20%D1%83%20%D0%BC%D0%B5%D0%BD%D1%8F%20%D0%B1%D1%8B%D0%BB%20%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%20%D1%80%D0%B0%D0%B7%D0%B2%D0%BE%D0%B4%D0%B0%22%2C%22answer%22%3A%22no%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_12%22%2C%22question%22%3A%22%D0%9A%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20%D0%B4%D0%B5%D1%82%D0%B5%D0%B9%22%2C%22answer%22%3A%22%22%2C%22date_first%22%3A%22%22%2C%22date_second%22%3A%22%22%7D%2C%7B%22question_id%22%3A%22survey_id_13%22%2C%22question%22%3A%22%D0%9C%D0%B5%D1%81%D1%82%D0%BE%20%D0%BF%D1%80%D0%BE%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%22%2C%22answer%22%3A%22%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_14%22%2C%22question%22%3A%22%D0%AF%20%D0%B7%D0%B0%D0%BD%D0%B8%D0%BC%D0%B0%D1%8E%D1%81%D1%8C%20%D0%BF%D1%80%D0%BE%D1%84.%20%D1%81%D0%BF%D0%BE%D1%80%D1%82%D0%BE%D0%BC%22%2C%22answer%22%3A%22no%22%2C%22date_first%22%3A%22%22%2C%22date_second%22%3A%22%22%7D%2C%7B%22question_id%22%3A%22survey_id_15%22%2C%22question%22%3A%22%D0%AF%20%D0%B7%D0%B0%D0%BD%D0%B8%D0%BC%D0%B0%D1%8E%D1%81%D1%8C%20%D1%84%D0%B8%D0%B7%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B9%20%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D1%83%D1%80%D0%BE%D0%B9%22%2C%22answer%22%3A%22no%22%2C%22date_first%22%3A%22%22%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_16%22%2C%22question%22%3A%22%D0%AF%20%D0%B2%D0%B5%D0%B4%D1%83%20%D1%81%D0%B8%D0%B4%D1%8F%D1%87%D0%B8%D0%B9%20%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%20%D0%B6%D0%B8%D0%B7%D0%BD%D0%B8%22%2C%22answer%22%3A%22no%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_17%22%2C%22question%22%3A%22%D0%AF%20%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE%20%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%B8%20%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B6%D1%83%20%D0%B7%D0%B0%20%D0%BF%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80%D0%BE%D0%BC%20%D0%A2%D0%92%22%2C%22answer%22%3A%22no%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_18%22%2C%22question%22%3A%22%D0%AF%20%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE%20%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%B8%20%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B6%D1%83%20%D0%B2%20%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82%D0%B5%22%2C%22answer%22%3A%22no%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_19%22%2C%22question%22%3A%22%D0%AF%20%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE%20%D0%B8%D0%B3%D1%80%D0%B0%D1%8E%20%D0%B2%20%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%B8%D0%B3%D1%80%D1%8B%22%2C%22answer%22%3A%22no%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_20%22%2C%22question%22%3A%22%D0%AF%20%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE%20%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%B8%20%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B6%D1%83%20%D0%B7%D0%B0%20%D1%80%D1%83%D0%BB%D0%B5%D0%BC%22%2C%22answer%22%3A%22no%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_21%22%2C%22question%22%3A%22%D0%AF%20%D0%BD%D0%B5%20%D0%B2%D0%BE%D0%B6%D1%83%20%D0%B8%D0%BB%D0%B8%20%D0%BC%D0%B0%D0%BB%D0%BE%20%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%B8%20%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B6%D1%83%20%D0%B7%D0%B0%20%D1%80%D1%83%D0%BB%D0%B5%D0%BC%22%2C%22answer%22%3A%22no%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_22%22%2C%22question%22%3A%22%D0%9C%D0%BD%D0%B5%20%D0%BD%D1%80%D0%B0%D0%B2%D0%B8%D1%82%D1%81%D1%8F%20%D0%BC%D0%BE%D1%8F%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%22%2C%22answer%22%3A%22no%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_23%22%2C%22question%22%3A%22%D0%A3%20%D0%BC%D0%B5%D0%BD%D1%8F%20%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%22%2C%22answer%22%3A%22no%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_24%22%2C%22question%22%3A%22%D0%A3%20%D0%BC%D0%B5%D0%BD%D1%8F%20%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%B0%D1%8F%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%22%2C%22answer%22%3A%22no%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_25%22%2C%22question%22%3A%22%D0%AF%20%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D1%8E%22%2C%22answer%22%3A%22no%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_26%22%2C%22question%22%3A%22%D0%AF%20%D1%81%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE%20%D1%83%D1%81%D1%82%D0%B0%D1%8E%20%D0%BD%D0%B0%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B5%22%2C%22answer%22%3A%22no%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_27%22%2C%22question%22%3A%22%D0%9C%D0%BE%D0%B9%20%D1%83%D1%80%D0%BE%D0%B2%D0%B5%D0%BD%D1%8C%20%D0%B4%D0%BE%D1%85%D0%BE%D0%B4%D0%B0%22%2C%22answer%22%3A%22%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_28%22%2C%22question%22%3A%22%D0%AF%20%D0%BB%D1%8E%D0%B1%D0%BB%D1%8E%20%D1%87%D0%B0%D1%81%D1%82%D0%BE%20%D0%B2%D1%8B%D0%BF%D0%B8%D1%82%D1%8C%20%D0%B0%D0%BB%D0%BA%D0%BE%D0%B3%D0%BE%D0%BB%D1%8C%22%2C%22answer%22%3A%22no%22%2C%22date_first%22%3A%22%22%2C%22date_second%22%3A%22%22%7D%2C%7B%22question_id%22%3A%22survey_id_29%22%2C%22question%22%3A%22%D0%AF%20%D0%BA%D1%83%D1%80%D1%8E%22%2C%22answer%22%3A%22no%22%2C%22date_first%22%3A%22%22%2C%22date_second%22%3A%22%22%7D%2C%7B%22question_id%22%3A%22survey_id_30%22%2C%22question%22%3A%22%D0%AF%20%D1%83%D0%BF%D0%BE%D1%82%D1%80%D0%B5%D0%B1%D0%BB%D1%8F%D1%8E%20%D0%BD%D0%B0%D1%80%D0%BA%D0%BE%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5%20%D0%B2%D0%B5%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B0%22%2C%22answer%22%3A%22no%22%2C%22date_first%22%3A%22%22%2C%22date_second%22%3A%22%22%7D%2C%7B%22question_id%22%3A%22survey_id_31%22%2C%22question%22%3A%22%D0%AF%20%D0%B8%D0%BC%D0%B5%D1%8E%20%D1%85%D1%80%D0%BE%D0%BD%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5%20%D0%B7%D0%B0%D0%B1%D0%BE%D0%BB%D0%B5%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%22%2C%22answer%22%3A%22%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_32%22%2C%22question%22%3A%22%D0%AF%20%D0%B8%D0%BC%D0%B5%D1%8E%20%D0%BD%D0%B0%D1%81%D0%BB%D0%B5%D0%B4%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5%20%D0%B7%D0%B0%D0%B1%D0%BE%D0%BB%D0%B5%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%22%2C%22answer%22%3A%22%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%5D%5B%7B%22question_id%22%3A%22survey_id_1%22%2C%22question%22%3A%22%D0%A1%D1%82%D1%80%D0%B0%D0%BD%D0%B0%20%D0%BF%D1%80%D0%BE%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%22%2C%22answer%22%3A%22%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_2%22%2C%22question%22%3A%22%D0%92%D0%BE%D0%B7%D1%80%D0%B0%D1%81%D1%82%22%2C%22answer%22%3A%22%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_3%22%2C%22question%22%3A%22%D0%9D%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%22%2C%22answer%22%3A%22%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_4%22%2C%22question%22%3A%22%D0%9F%D0%BE%D0%BB%22%2C%22answer%22%3A%22%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_5%22%2C%22question%22%3A%22%D0%A0%D0%BE%D1%81%D1%82%20(%D1%81%D0%BC)%22%2C%22answer%22%3A%22%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_6%22%2C%22question%22%3A%22%D0%92%D0%B5%D1%81%20(%D0%BA%D0%B3)%22%2C%22answer%22%3A%22%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_7%22%2C%22question%22%3A%22%D0%A3%20%D0%BC%D0%B5%D0%BD%D1%8F%20%D0%B8%D0%BC%D0%B5%D1%8E%D1%82%D1%81%D1%8F%20%D0%B4%D0%BE%D0%BB%D0%B3%D0%BE%D0%B6%D0%B8%D1%82%D0%B5%D0%BB%D0%B8%20%D0%B2%20%D1%80%D0%BE%D0%B4%D1%83%22%2C%22answer%22%3A%22no%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_8%22%2C%22question%22%3A%22%D0%A3%D1%80%D0%BE%D0%B2%D0%B5%D0%BD%D1%8C%20IQ%22%2C%22answer%22%3A%22120%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_9%22%2C%22question%22%3A%22%D0%A1%D0%B5%D0%BC%D0%B5%D0%B9%D0%BD%D0%BE%D0%B5%20%D0%BF%D0%BE%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5%22%2C%22answer%22%3A%22%22%2C%22date_first%22%3A%22%22%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_10%22%2C%22question%22%3A%22%D0%A3%20%D0%BC%D0%B5%D0%BD%D1%8F%20%D1%81%D1%87%D0%B0%D1%81%D1%82%D0%BB%D0%B8%D0%B2%D1%8B%D0%B9%20%D0%B1%D1%80%D0%B0%D0%BA%22%2C%22answer%22%3A%22no%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_11%22%2C%22question%22%3A%22%D0%92%20%D0%B6%D0%B8%D0%B7%D0%BD%D0%B8%20%D1%83%20%D0%BC%D0%B5%D0%BD%D1%8F%20%D0%B1%D1%8B%D0%BB%20%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%20%D1%80%D0%B0%D0%B7%D0%B2%D0%BE%D0%B4%D0%B0%22%2C%22answer%22%3A%22no%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_12%22%2C%22question%22%3A%22%D0%9A%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20%D0%B4%D0%B5%D1%82%D0%B5%D0%B9%22%2C%22answer%22%3A%220%22%2C%22date_first%22%3A%22%22%2C%22date_second%22%3A%22%22%7D%2C%7B%22question_id%22%3A%22survey_id_13%22%2C%22question%22%3A%22%D0%9C%D0%B5%D1%81%D1%82%D0%BE%20%D0%BF%D1%80%D0%BE%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%22%2C%22answer%22%3A%22%D0%93%D0%BE%D1%80%D0%BE%D0%B4%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_14%22%2C%22question%22%3A%22%D0%AF%20%D0%B7%D0%B0%D0%BD%D0%B8%D0%BC%D0%B0%D1%8E%D1%81%D1%8C%20%D0%BF%D1%80%D0%BE%D1%84.%20%D1%81%D0%BF%D0%BE%D1%80%D1%82%D0%BE%D0%BC%22%2C%22answer%22%3A%22yes%22%2C%22date_first%22%3A%2210%22%2C%22date_second%22%3A%2215%22%7D%2C%7B%22question_id%22%3A%22survey_id_15%22%2C%22question%22%3A%22%D0%AF%20%D0%B7%D0%B0%D0%BD%D0%B8%D0%BC%D0%B0%D1%8E%D1%81%D1%8C%20%D1%84%D0%B8%D0%B7%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B9%20%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D1%83%D1%80%D0%BE%D0%B9%22%2C%22answer%22%3A%22yes%22%2C%22date_first%22%3A%2211%22%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_16%22%2C%22question%22%3A%22%D0%AF%20%D0%B2%D0%B5%D0%B4%D1%83%20%D1%81%D0%B8%D0%B4%D1%8F%D1%87%D0%B8%D0%B9%20%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%20%D0%B6%D0%B8%D0%B7%D0%BD%D0%B8%22%2C%22answer%22%3A%22yes%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_17%22%2C%22question%22%3A%22%D0%AF%20%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE%20%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%B8%20%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B6%D1%83%20%D0%B7%D0%B0%20%D0%BF%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80%D0%BE%D0%BC%20%D0%A2%D0%92%22%2C%22answer%22%3A%22no%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_18%22%2C%22question%22%3A%22%D0%AF%20%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE%20%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%B8%20%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B6%D1%83%20%D0%B2%20%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82%D0%B5%22%2C%22answer%22%3A%22no%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_19%22%2C%22question%22%3A%22%D0%AF%20%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE%20%D0%B8%D0%B3%D1%80%D0%B0%D1%8E%20%D0%B2%20%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%B8%D0%B3%D1%80%D1%8B%22%2C%22answer%22%3A%22no%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_20%22%2C%22question%22%3A%22%D0%AF%20%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE%20%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%B8%20%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B6%D1%83%20%D0%B7%D0%B0%20%D1%80%D1%83%D0%BB%D0%B5%D0%BC%22%2C%22answer%22%3A%22no%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_21%22%2C%22question%22%3A%22%D0%AF%20%D0%BD%D0%B5%20%D0%B2%D0%BE%D0%B6%D1%83%20%D0%B8%D0%BB%D0%B8%20%D0%BC%D0%B0%D0%BB%D0%BE%20%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%B8%20%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B6%D1%83%20%D0%B7%D0%B0%20%D1%80%D1%83%D0%BB%D0%B5%D0%BC%22%2C%22answer%22%3A%22yes%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_22%22%2C%22question%22%3A%22%D0%9C%D0%BD%D0%B5%20%D0%BD%D1%80%D0%B0%D0%B2%D0%B8%D1%82%D1%81%D1%8F%20%D0%BC%D0%BE%D1%8F%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%22%2C%22answer%22%3A%22yes%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_23%22%2C%22question%22%3A%22%D0%A3%20%D0%BC%D0%B5%D0%BD%D1%8F%20%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%22%2C%22answer%22%3A%22yes%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_24%22%2C%22question%22%3A%22%D0%A3%20%D0%BC%D0%B5%D0%BD%D1%8F%20%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%B0%D1%8F%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%22%2C%22answer%22%3A%22no%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_25%22%2C%22question%22%3A%22%D0%AF%20%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D1%8E%22%2C%22answer%22%3A%22no%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_26%22%2C%22question%22%3A%22%D0%AF%20%D1%81%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE%20%D1%83%D1%81%D1%82%D0%B0%D1%8E%20%D0%BD%D0%B0%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B5%22%2C%22answer%22%3A%22no%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_27%22%2C%22question%22%3A%22%D0%9C%D0%BE%D0%B9%20%D1%83%D1%80%D0%BE%D0%B2%D0%B5%D0%BD%D1%8C%20%D0%B4%D0%BE%D1%85%D0%BE%D0%B4%D0%B0%22%2C%22answer%22%3A%22%D0%A1%D1%80%D0%B5%D0%B4%D0%BD%D0%B8%D0%B9%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_28%22%2C%22question%22%3A%22%D0%AF%20%D0%BB%D1%8E%D0%B1%D0%BB%D1%8E%20%D1%87%D0%B0%D1%81%D1%82%D0%BE%20%D0%B2%D1%8B%D0%BF%D0%B8%D1%82%D1%8C%20%D0%B0%D0%BB%D0%BA%D0%BE%D0%B3%D0%BE%D0%BB%D1%8C%22%2C%22answer%22%3A%22no%22%2C%22date_first%22%3A%22%22%2C%22date_second%22%3A%22%22%7D%2C%7B%22question_id%22%3A%22survey_id_29%22%2C%22question%22%3A%22%D0%AF%20%D0%BA%D1%83%D1%80%D1%8E%22%2C%22answer%22%3A%22no%22%2C%22date_first%22%3A%22%22%2C%22date_second%22%3A%22%22%7D%2C%7B%22question_id%22%3A%22survey_id_30%22%2C%22question%22%3A%22%D0%AF%20%D1%83%D0%BF%D0%BE%D1%82%D1%80%D0%B5%D0%B1%D0%BB%D1%8F%D1%8E%20%D0%BD%D0%B0%D1%80%D0%BA%D0%BE%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5%20%D0%B2%D0%B5%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B0%22%2C%22answer%22%3A%22no%22%2C%22date_first%22%3A%22%22%2C%22date_second%22%3A%22%22%7D%2C%7B%22question_id%22%3A%22survey_id_31%22%2C%22question%22%3A%22%D0%AF%20%D0%B8%D0%BC%D0%B5%D1%8E%20%D1%85%D1%80%D0%BE%D0%BD%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5%20%D0%B7%D0%B0%D0%B1%D0%BE%D0%BB%D0%B5%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%22%2C%22answer%22%3A%22%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%2C%7B%22question_id%22%3A%22survey_id_32%22%2C%22question%22%3A%22%D0%AF%20%D0%B8%D0%BC%D0%B5%D1%8E%20%D0%BD%D0%B0%D1%81%D0%BB%D0%B5%D0%B4%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5%20%D0%B7%D0%B0%D0%B1%D0%BE%D0%BB%D0%B5%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%22%2C%22answer%22%3A%22%22%2C%22date_first%22%3Anull%2C%22date_second%22%3Anull%7D%5Dnodata

解码后的样子应该是这样的:

var survey = [
   {question_id: "survey_id_1", question: "мммм", answer: "1", date_first: null, date_second: null},
   {question_id: "survey_id_2", question: "вввв", answer: "2", date_first: null, date_second: null},
   {question_id: "survey_id_3", question: "ьььь", answer: "3", date_first: null, date_second: null},
   {question_id: "survey_id_4", question: "йййй", answer: "4", date_first: null, date_second: null}
    // ...
]

我使用函数对我的调查进行编码:

function survey_to_arrays(obj) {
    return encodeURIComponent(JSON.stringify(obj))
}

然后解码:

function arrays_to_list(arraysJSONString) {
    var l = []
    var jsonObj = JSON.parse(decodeURIComponent(arraysJSONString)) // Unexpected token [
    
    var d = {}
    var lastindex = 0
    for (var key in jsonObj) {
        var q_id = jsonObj[key].question_id
        var q = jsonObj[key].question
        var a = jsonObj[key].answer
        var df = jsonObj[key].date_first
        var ds = jsonObj[key].date_second
        d["question_id"] = q_id
        d["question"] = q
        d["answer"] = a
        d["date_first"] = df
        d["date_second"] = ds
        
        // l[lastindex].push(d)
        l.push(d)
        lastindex++
        d = {}
    }
    return l
}

编码没问题,但是当我尝试解码此调查时,它在arrays_to_list 函数中返回错误Uncaught SyntaxError: Unexpected token [ in JSON ...,我在发生错误的行上添加了注释。有什么问题?

编辑 1

其实我是这样做的:

首先将答案(JSON 编码字符串)保存到 MySQL 数据库

var jsonAnswersString = survey_to_arrays(answers)
function saveAnswersToDB(str) {
    // APPEND FORM DATA
    var data = new FormData();
    data.append('answer_string', str);

    // AJAX CALL
    var xhr = new XMLHttpRequest();
    xhr.open('POST', "../php/save_answer.php", true);
    xhr.onload = function(){
    //   console.log("AJAX responce text :", this.response);
    };
    xhr.send(data);
}

然后我试图得到这个答案:

data = getdata()
function getdata() {
    // APPEND FORM DATA
    var result
    var data = new FormData();
    data.append('req', 'get');

    // AJAX CALL
    var xhr = new XMLHttpRequest();
    xhr.open('POST', "../php/get_answer.php", true);
    xhr.onload = function(){
        // result = this.responseText
        console.log("AJAX RESPONCE IN SURVEY IS", this.responseText)
        result = arrays_to_string(this.responseText)
    };
    xhr.send(data);
    console.log("AJAX RESPONSE DECODED : ",result)
    return []
}

save_answer.php文件:

<?php

function getNewNumOfTries($id) {
    include("config.php");
    $con = setConnection();
    $query    = "SELECT num_of_tries FROM `survey_results` WHERE user_id='$id'";
    $n   = mysqli_query($con, $query);
    $biggest_n = -1;

    while ($row = mysqli_fetch_assoc($n)) {
        // echo $biggest_n . "  " . $row['num_of_tries'] . "|||";
        if ($biggest_n < $row['num_of_tries']) {
            $biggest_n = $row['num_of_tries'];
        };
    }

    if ($biggest_n == -1) {
        $biggest_n += 2;
    }
    else {
        $biggest_n++;
    }
    $con->close();
    return $biggest_n;
}

// set connection
include("get_from_db_functions.php");

// get json string and other var's
date_default_timezone_set("Europe/Moscow");
$id            = $_COOKIE['id'];
$answer_string = $_POST['answer_string'];
$date          = date("Y-m-d H:i:s");
$num_of_tries  = getNewNumOfTries($id);

$con = setConnection();


// json string to array
// $jsonArray = json_decode($answer_string, true);
// array to db
include("config.php");
$con = new mysqli($db_ip, $db_login, $db_pwd, $db_name);
$stmt = $con->prepare('INSERT INTO survey_results (user_id, num_of_tries, date, results) VALUES (?, ?, ?, ?)');
$stmt->bind_param("ssss", $id, $num_of_tries, $date, $answer_string);
/* execute query */
$stmt->execute();
/* close statement */
$stmt->close();

// close connection
$con->close();

?>

get_answer.php

<?php

include("config.php");
include("get_from_db_functions.php");
$con = setConnection();
$query    = "SELECT MAX(num_of_tries) as maxn FROM `survey_results` WHERE user_id='$id'";
$n   = mysqli_query($con, $query);
$biggest_n = -1;
$results = 0;
while ($row = mysqli_fetch_assoc($n)) {
    $biggest_n = $row['maxn'];
    $id = $_COOKIE["id"];
    $query    = "SELECT results FROM `survey_results` WHERE user_id='$id'";
    $answers  = mysqli_query($con, $query);
    while ($row2 = mysqli_fetch_assoc($answers)) {
        $results = $row2['results'];
        echo $results;
    }
}

echo "nodata";

$con->close();

?>

PS 我知道我应该使用 PDO

我的用户 ID 是正确的,并且 = 42

编辑 2

xhr.onload 中this.responseText 的内容与我发布的问题开头编码的字符串相同:

【问题讨论】:

  • 你能把console.log(this.responseText)的内容贴在你的ajax回调里面吗
  • @Greedo 请看我的编辑 2
  • @Aquill 尝试运行decodeURIComponent 只是为了查看解码后的输出var jsonObj = decodeURIComponent(arraysJSONString)。一旦您对解码值感到满意,然后执行JSON.parse
  • @Shiladitya 解码输出为[{"question_id":"survey_id_1","question":"Страна проживания","answer":"","date_first":null,"date_second":null}, ...etc... ] 字符串,没关系,但是当我添加JSON.parse(...decodedstring...) 时,它返回错误意外令牌[
  • @Aquill 然后在一些在线验证器中验证您的 JSON,例如 jsonlint.com 。由于 JSON 格式不正确,您会收到错误

标签: javascript json


【解决方案1】:

你确定没有在中间做任何事情吗?此代码工作正常:

var survey = [
   {question_id: "survey_id_1", question: "мммм", answer: "1", date_first: null, date_second: null},
   {question_id: "survey_id_2", question: "вввв", answer: "2", date_first: null, date_second: null},
   {question_id: "survey_id_3", question: "ьььь", answer: "3", date_first: null, date_second: null},
   {question_id: "survey_id_4", question: "йййй", answer: "4", date_first: null, date_second: null}
];

function survey_to_arrays(obj) {
    return encodeURIComponent(JSON.stringify(obj))
}

function array_to_survey(str) { 
  return JSON.parse(decodeURIComponent(str))
}

console.log(array_to_survey(survey_to_arrays(survey)))

【讨论】:

  • 而且...我不应该做JSON.parse ...下面的所有事情吗?看起来它的工作方式相同,但我的功能是巨大的!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-22
  • 2013-03-22
  • 2021-02-09
相关资源
最近更新 更多