微信小程序页面间传json字符串后使用JSON.parse方法无法解析json字符串

各位大神好,我最近在做毕业课设,在使用微信小程序端进行页面间的传值时发现原本已经实践成功过的使用url传值的方法突然失灵了,我将json字符串通过url传到目标页面没办法将它使用JSON.parse方法解析成json对象。
最后发现和之前成功过的页面比对,两个页面的onload方法下options下的参数不一样,成功的页面的options.title能够获取到而解析失败的页面使用options.title是没办法获取到值的
。这是什么原因呢?应该怎么解决?
下面放出图片对比

这张图片是已经成功传值并且解析过的别的页面的onload方法

图片说明
这是我无法解析的页面截图

希望大神能帮我找出问题在哪里
小弟愿意请您喝一杯星巴克!!!!求求大家啦!!!(加我微信就可以喝哦)

2个回答

F12 开发者模式看下浏览器的控制台有没有错误信息。
有可能是 options 这个参数的问题,加上一行打印信息
console.log(options)看看参数是什么。

你看看是不是你的json太长了。太长的url会截取掉,所以解析失败。
url虽然可以传递json数据,但是!!!!有长度限制,我遇到过,
最好的方式是在目标页面定义一个变量存储json数据,在传递数据页面通过代码向目标页面的变量赋值,类似下面这种:

var pages = getCurrentPages() //获取页面
  var prevPage = pages[pages.length - 2] //跳转多少页
    prevPage.setData({
        目标页面定义的变量:你的json数据
    })
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
在JSP页面中使用JSON.parse()解析字符串
在JSP页面中用json.parse()解析字符串,在程序运行时,浏览器报脚本错误,说json未定义,json的jar包fast-json-1.1.41引完了,实在找不到原因了,请问这是什么原因?
JSON.parse 解析 带斜杠JSON字符串 问题
var objStr = '{"remark":"\"//\""}'; alert(JSON.parse(objStr)); 解析报错,怎么解决?
js使用json.parse()如何处理空格,换行等特殊字符
js使用json.parse()如何处理空格,换行等特殊字符 ``` formData=JSON.parse(formData); ``` 我这样把字符串转换成对象,但是提示有Unexpected token异常.查看为有空行的关系; 这个应该如何解决?
javascript中JSON.parse()函数处理json中的\斜杠转义字符报错
javascript中JSON.parse()函数处理json中的\斜杠转义字符报错 [这是原贴](https://blog.csdn.net/czh500/article/details/101035904 "原贴地址") **直接po图和代码** ![图片说明](https://img-ask.csdn.net/upload/201909/20/1568952198_856.png) ![图片说明](https://img-ask.csdn.net/upload/201909/20/1568953622_583816.png) ![图片说明](https://img-ask.csdn.net/upload/201909/20/1568953400_106623.png) **疑惑** 大家说一下为什么json字符串中包含2个\斜杠和3个\斜杠的情况,JSON.parse()函数在解析时会报错? 而为什么json字符串中包含1个\斜杠和4个\斜杠的情况,JSON.parse()函数却可以正确解析? 谁能帮忙解答一下吗?不吝赐教! [这是我的原贴](https://blog.csdn.net/czh500/article/details/101035904 "这是我的原贴json转义字符的问题"),原贴排版更清晰,大家可以给我留言,帮我把这个问题解释清楚即可,这个问题挺困扰我的! ``` //--------------------------- /* 大家可以试一下写1个\斜杠,或者写2个\斜杠,或者写3个\斜杠,或者写,4个\斜杠,再分 别使用JSON.parse()函数解析一下,效果有很大的不同,有的会报错,有的能正确解析 */ var jsonStr27 = '{"sex":"男","info":"我\\是超人"}'; // 2个\斜杠 var jsonObj75 = eval("(" + jsonStr27 + ")"); //正确 console.log(jsonObj75.sex, jsonObj75.info);//结果为男 我是超人 // var jsonObj76 = JSON.parse(jsonStr27);//报错 // console.log(jsonObj76.sex, jsonObj76.info); var jsonStr68 = '{"sex":"男","info":"我\是超人"}';// 1个\斜杠 var jsonObj90 = eval("(" + jsonStr68 + ")");//正确 var jsonObj77 = JSON.parse(jsonStr68);//正确 console.log(jsonObj77.sex, jsonObj77.info);//结果为男 我是超人 var jsonStr69 = '{"sex":"男","info":"我\\\是超人"}';// 3个\斜杠 var jsonObj91 = eval("(" + jsonStr69 + ")");//正确 // var jsonObj78 = JSON.parse(jsonStr69);//报错 // console.log(jsonObj78.sex, jsonObj78.info); var jsonStr70 = '{"sex":"男","info":"我\\\\是超人"}';// 4个\斜杠 var jsonObj92 = eval("(" + jsonStr70 + ")");//正确 var jsonObj79 = JSON.parse(jsonStr70);//正确 console.log(jsonObj79.sex, jsonObj79.info);//结果为男 我\是超人 //--------------------------------- var jsonStr28 = {"sex":"男","info":"我\\是咸蛋超人"}; console.log(jsonStr28.sex, jsonStr28.info);//结果为男 我\是咸蛋超人 var jsonStr29 = {"sex":"男","info":"我\是孙悟空"}; console.log(jsonStr29.sex, jsonStr29.info);//结果为男 我是孙悟空 var jsonStr30 = {"sex":"男","info":"我\\\是康熙"}; console.log(jsonStr30.sex, jsonStr30.info);//结果为男 我\是康熙 var jsonStr31 = {"sex":"男","info":"我\\\\是小宝"}; console.log(jsonStr31.sex, jsonStr31.info);//结果为男 我\\是小宝 ```
JSONUtils.parse解析数据库取出的JSON字符串报错
本人在oracle取出字符串然后用JSONUtils.parse解析强转成hashmap报错 ``` String csc = gzMx.getCsc(); System.out.println(csc); Object parse = JSONUtils.parse(csc); LinkedHashMap<String, String> zds = (LinkedHashMap)parse; ``` debug csc:“{"接线方式":"wiring_mode","台区名称":"tg_name","运维单位":"org_no","台区编号":"tg_no","台区容量":"tg_cap","问题描述":"wtms_wiring_mode","变更时间":"chg_date","安装地址":"inst_addr"}” 到上面的第三行就开始报错: ![图片说明](https://img-ask.csdn.net/upload/201907/15/1563188609_518515.png) ![图片说明](https://img-ask.csdn.net/upload/201907/15/1563188894_726098.png) ![图片说明](https://img-ask.csdn.net/upload/201907/15/1563189037_198841.png) 这是什么情况
调用JSON.parse ()函数对字符串对象进行转化的时候,报错Unexpected end of JSON input
具体的代码如下:先从前端读取的json文件中获取内容再进行转化: ``` function handleFiles() { var selectedFile = document.getElementById("files").files[0];//获取读取的File对象 var name = selectedFile.name;//读取选中文件的文件名 var size = selectedFile.size;//读取选中文件的大小 console.log("文件名:"+name+"大小:"+size); var reader = new FileReader(); reader.readAsText(selectedFile);//读取文件的内容 // 下面这一行报错了!!!! var json = JSON.parse(reader.result.toString().replace(/\n/g, '')); var temp = 0; for(i=0;i< length(json);i++){ for(j=0;j<length(json)-i-1;j++){ if(json[j+1].value>json[j].value){ temp = json[j+1]; json[j+1] = json[j]; json[j] = temp; } } } return json; ``` 但如果设置断点调试则可以进行,是为什么?
我有这么一个json字符串通过fastjson的parse方法接的 我有什么办法遍历他们
我有这么一个json字符串通过fastjson的parse方法接的 我有什么办法遍历他们并且我要用对应的每个(edyear-bgyear)*money 然后累加 ``` {"bgyear1":"2019","edyear2":"2019","edyear3":"2019","edyear1":"2019","Money3":"33333","Money1":"11111","Money2":"2222","bgyear2":"2019","bgyear3":"2019"} ```
JS通过JSON.parse(JSON.stringify(obj))的方式深层拷贝数据时,数组类型有时候变为bool类型了?
问题:在使用JSON.parse(JSON.stringify(obj))的方式深层拷贝数据时,发现有时候数据类型发生了变化,请牛人帮忙给看看,谢谢。 1、测试代码: var newItem = this.cloneObject(orderItemFormData); console.info(this.cloneObject(orderItemFormData)); console.info(newItem); 2、拷贝方法 //深层拷贝对象 cloneObject(jsonObj) { return JSON.parse(JSON.stringify(jsonObj)); }, 3、通过控制台查看打印结果 1)正确的打印 ![图片说明](https://img-ask.csdn.net/upload/201909/09/1568025962_444429.png) 2)错误的打印 ![图片说明](https://img-ask.csdn.net/upload/201909/09/1568025993_311857.png) 4、尝试过其他的深层拷贝对象的方法,有同样的问题。 请大神们指教这是什么问题呀,折磨疯了。
微信小程序 canvasToTempFilePath问题。
# 微信小程序 ## canvasToTempFilePath问题 程序描述:用户可在画布上自由绘制黑色笔迹,点击确定后用canvasToTempFilePath保存! 问题描述:在开发工具上可以正常运行,墨迹保存完好,当使用真机调试或体验版本中没有墨迹,只是一张透明图。 ``` // 画布的触摸移动开始手势响应 start: function (event) { // console.log("触摸开始" + event.changedTouches[0].x) // console.log("触摸开始" + event.changedTouches[0].y) //获取触摸开始的 x,y let point = { x: event.changedTouches[0].x, y: event.changedTouches[0].y } touchs.push(point) }, // 画布的触摸移动手势响应 move: function (e) { let point = { x: e.touches[0].x, y: e.touches[0].y } touchs.push(point) if (touchs.length >= 2) { this.draw(touchs) } is_touch = false; }, // 画布的触摸移动结束手势响应 end: function (e) { console.log("触摸结束" + e) //清空轨迹数组 for (let i = 0; i < touchs.length; i++) { touchs.pop() } is_touch = true; can_pass = true }, // 画布的触摸取消响应 cancel: function (e) { console.log("触摸取消" + e) }, // 画布的长按手势响应 tap: function (e) { console.log("长按手势" + e) }, error: function (e) { console.log("画布触摸错误" + e) }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { //获得Canvas的上下文 content = wx.createCanvasContext('firstCanvas') //设置线的颜色 content.setStrokeStyle("#000") //设置线的宽度 content.setLineWidth(15) //设置线两端端点样式更加圆润 content.setLineCap('round') //设置两条线连接处更加圆润 content.setLineJoin('round') var r = Math.floor(Math.random()*9) var a = r+1 this.setData({ random:a, randoms: a, //signImage:"https://mhes.sxu.net.cn/Files/20190522/20190522163655299684.jpg" }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, //绘制 draw: function (touchs) { let point1 = touchs[0] let point2 = touchs[1] touchs.shift() content.moveTo(point1.x, point1.y) content.lineTo(point2.x, point2.y) content.stroke() content.draw(true) }, //清除操作 clearClick: function () { //清除画布 content.clearRect(0, 0, canvasw, canvash) // content.clearRect(0, 0, 500, 500) content.draw(true) is_touch = false can_pass = false }, //保存图片 saveClick: function () { is_touch = true if(can_pass == false) { wx.showModal({ title: 'MHE', content: '请完成绘制', showCancel: false, success: function (res) { if (res.confirm) { console.log('用户点击确定') is_touch = false } } }) return } var that = this that.setData({ random: "-", }) can_pass = false var that = this wx.canvasToTempFilePath({ x:0, y:0, width: canvasw, height: canvash, destWidth: canvasw, destHeight: canvash, fileType: 'png', canvasId: 'firstCanvas', quality : 0.5, success: function (res) { console.log(res.tempFilePath) that.setData({ signImage: res.tempFilePath }) wx.saveImageToPhotosAlbum({ filePath: res.tempFilePath, success(result) { console.log(result) } }) wx.uploadFile({ url: '。。。。。。。。。。。。。', filePath: res.tempFilePath, name: 'uploadFile', success: function(res) { var datas = JSON.parse(res.data) console.log(datas) if(datas.rlt == 0){ console.log(that.data.randoms) wx.request({ url: app.weburl, data: { 。。。 }, header: {}, method: 'GET', dataType: 'json', responseType: 'text', success: function(res) { 。。。 }, fail: function(res) {}, complete: function(res) { console.log(that.data.num) }, }) } }, fail: function(res) {}, complete: function(res) {}, }) }, fail: function (res) { console.log(res) }, }) content.clearRect(0, 0, canvasw, canvash) content.draw(true) } ```
nodejs JSON.parse在字符串转json的问题
有没有人遇到过,当出现多层级的Json和字符串互转的情况会出现转换的json格式的 数据的内容变成[Object] 例如: { '1': [Object], '2': [Object], '3': [Object], '4': [Object], '5': [Object] } 暂时只发现nodejs里边的解析有问题,其他浏览器都正常。
javascript: json.parse()去掉默认按首字母排序的规则
现定义一个json字符串: var jsonstr = '{"b":"1","a":"2","c":"3"}'; var jsons = JSON.parse(jsonstr); 返回的结果: jsons={a:2, b:1, c:3} 如何去掉JSON.parse解析后的默认以首字母排序的规则?让最后结果为: jsons={b:1, a:2, c:3}
如何把微信公众号的文章转换成微信小程序的代码显示在页面
1.需要把微信公众号的文章提取出来,显示在微信小程序自己的页面, 不是用web-view打开链接,用wx_parse转换性能较差,复杂的文章,速度很慢, 有些格式展示也不正确
关于 JSON.parse的问题
ASP.NET MVC返回产品型号代码,使用ff和谷歌浏览器都返回了如下的数据: [{"ProductType":"JD4DBD-2D17-A1B2"},{"ProductType":"JD4BW1W-7SP7-A1B2"}],经在校验验,确定json格式正确,但却提示SyntaxError: JSON.parse: unexpected character at line 1 column 2 of the JSON data。请各位大佬帮忙看看哪儿错了。新人初来,没有分数,还请见谅。 html端js代码如下: ``` $("#txtAutoComplete").typeahead({ source: function (query, process) { return $.ajax({ url: "/OrderForm/GetProductTypeByType", data: { "productType":query }, type: "POST", dataType: "json", success: function (result) { var json = JSON.parse(result); var resultList = json.topicList.map(function (item) { var aItem = { ProductType: item.ProductType }; return JSON.stringify(aItem); }); return process(resultList); } }); } }); ```
ajax中eval()\JSON.parse()\parseJSON()和evalJSON()?
求解这几个方法的区别ajax中eval()、JSON.parse()、parseJSON()和evalJSON()的区别? 其中eval()、JSON.parse()不用导入js文件 parseJSON()需要json.js文件 evalJSON()需要prototype.js文件 这几个中是不是evalJSON()最常用啊?
字符串转换JSON对象 然后成功通过key获取value值
var obj="{'a':1,'b':2}" 我想把这个样的字符串 在HTML5里边解析成json 该什么做呢 求各位指点下小生先行多谢各位 我这样写的 console.log(obj); var c=JSON.parse(obj); console.log(c); 控制台输出 {'a':1,'b':2} Uncaught SyntaxError: Unexpected token ' at PageFrame/system/site/updataAddress.html:1 但是当我直接注释掉 var c=JSON.parse(obj); console.log(c); 错误就没了 但是我字符串就没能转换成json对象了
求帮助..怎么把js 数组["大润发A", "大润发B", "大润发C"] 这种形式变成 ['大润发A', '大润发B', '大润发C']
这是ajax 返回data (json字符串) ``` // console.log(data) res = JSON.parse(data); //字符串转成对象 //console.log(res) ///********************************************* //处理这个对象 for (let i = 0; i < res.length; i++) { // console.log(res[i].mendian_code_name) //这是一个数组 var a = res[i].mendian_code_name; console.log(a) var _adrobj = JSON.stringify(a).replace(/\"/g, "'"); //这步能转成单引号 _adrobj = eval("("+_adrobj+")"); //但是 eval 把字符串转回去 又变双引号 用json.,parse 直接报错 console.log(_adrobj); // _adrobj =JSON.parse(_adrobj)//这会报错 // console.log(_adrobj) res[i].mendian_code_name = _adrobj; //处理这个属性完成后 再赋给他!!!!!!!!! } console.log(res) ```
微信小程序 手机端上传视频后台异常
微信小程序 手机端上传视频,服务器一直报这个异常,多次点击才能上传成功 浏览器切换成手机模式 一切正常。 ``` exception [Could not parse multipart servlet request; nested exception is java.io.IOException: org.apache.tomcat.util.http.fileupload.FileUploadException: Connection reset by peer] org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request; nested exception is java.io.IOException: org.apache.tomcat.util.http.fileupload.FileUploadException: Connection reset by peer at org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.parseRequest(StandardMultipartHttpServletRequest.java:112) ~[spring-web-4.3.14.RELEASE.jar:4.3.14.RELEASE] at org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.<init>(StandardMultipartHttpServletRequest.java:86) ~[spring-web-4.3.14.RELEASE.jar:4.3.14.RELEASE] at org.springframework.web.multipart.support.StandardServletMultipartResolver.resolveMultipart(StandardServletMultipartResolver.java:80) ~[spring-web-4.3.14.RELEASE.jar:4.3.14.RELEASE] at org.springframework.web.servlet.DispatcherServlet.checkMultipart(DispatcherServlet.java:1104) ~[spring-webmvc-4.3.14.RELEASE.jar:4.3.14.RELEASE] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:936) ~[spring-webmvc-4.3.14.RELEASE.jar:4.3.14.RELEASE] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901) ~[spring-webmvc-4.3.14.RELEASE.jar:4.3.14.RELEASE] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) ~[spring-webmvc-4.3.14.RELEASE.jar:4.3.14.RELEASE] at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872) ~[spring-webmvc-4.3.14.RELEASE.jar:4.3.14.RELEASE] at javax.servlet.http.HttpServlet.service(HttpServlet.java:661) ~[servlet-api.jar:na] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) ~[spring-webmvc-4.3.14.RELEASE.jar:4.3.14.RELEASE] at javax.servlet.http.HttpServlet.service(HttpServlet.java:742) ~[servlet-api.jar:na] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) [catalina.jar:8.5.16] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.16] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) ~[tomcat-websocket.jar:8.5.16] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.16] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.16] at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96) ~[spring-web-4.3.14.RELEASE.jar:4.3.14.RELEASE] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.14.RELEASE.jar:4.3.14.RELEASE] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.16] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.16] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197) ~[spring-web-4.3.14.RELEASE.jar:4.3.14.RELEASE] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.14.RELEASE.jar:4.3.14.RELEASE] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.16] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.16] at org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:115) [spring-boot-1.5.10.RELEASE.jar:1.5.10.RELEASE] at org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageFilter.java:59) [spring-boot-1.5.10.RELEASE.jar:1.5.10.RELEASE] at org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:90) [spring-boot-1.5.10.RELEASE.jar:1.5.10.RELEASE] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.14.RELEASE.jar:4.3.14.RELEASE] at org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:108) [spring-boot-1.5.10.RELEASE.jar:1.5.10.RELEASE] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.16] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.16] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) [catalina.jar:8.5.16] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) [catalina.jar:8.5.16] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478) [catalina.jar:8.5.16] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) [catalina.jar:8.5.16] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80) [catalina.jar:8.5.16] at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624) [catalina.jar:8.5.16] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) [catalina.jar:8.5.16] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) [catalina.jar:8.5.16] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799) [tomcat-coyote.jar:8.5.16] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) [tomcat-coyote.jar:8.5.16] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868) [tomcat-coyote.jar:8.5.16] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1455) [tomcat-coyote.jar:8.5.16] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-coyote.jar:8.5.16] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_181] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_181] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:8.5.16] at java.lang.Thread.run(Thread.java:748) [na:1.8.0_181] Caused by: java.io.IOException: org.apache.tomcat.util.http.fileupload.FileUploadException: Connection reset by peer at org.apache.catalina.connector.Request.parseParts(Request.java:2919) ~[catalina.jar:8.5.16] at org.apache.catalina.connector.Request.getParts(Request.java:2780) ~[catalina.jar:8.5.16] at org.apache.catalina.connector.RequestFacade.getParts(RequestFacade.java:1084) ~[catalina.jar:8.5.16] at org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.parseRequest(StandardMultipartHttpServletRequest.java:93) ~[spring-web-4.3.14.RELEASE.jar:4.3.14.RELEASE] ... 47 common frames omitted Caused by: org.apache.tomcat.util.http.fileupload.FileUploadException: Connection reset by peer at org.apache.tomcat.util.http.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:308) ~[tomcat-coyote.jar:8.5.16] at org.apache.catalina.connector.Request.parseParts(Request.java:2871) ~[catalina.jar:8.5.16] ... 50 common frames omitted Caused by: java.io.IOException: Connection reset by peer at sun.nio.ch.FileDispatcherImpl.read0(Native Method) ~[na:1.8.0_181] at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39) ~[na:1.8.0_181] at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) ~[na:1.8.0_181] at sun.nio.ch.IOUtil.read(IOUtil.java:197) ~[na:1.8.0_181] at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380) ~[na:1.8.0_181] at org.apache.tomcat.util.net.NioChannel.read(NioChannel.java:147) ~[tomcat-coyote.jar:8.5.16] at org.apache.tomcat.util.net.NioBlockingSelector.read(NioBlockingSelector.java:173) ~[tomcat-coyote.jar:8.5.16] at org.apache.tomcat.util.net.NioSelectorPool.read(NioSelectorPool.java:235) ~[tomcat-coyote.jar:8.5.16] at org.apache.tomcat.util.net.NioSelectorPool.read(NioSelectorPool.java:216) ~[tomcat-coyote.jar:8.5.16] at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1233) ~[tomcat-coyote.jar:8.5.16] at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1182) ~[tomcat-coyote.jar:8.5.16] at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:713) ~[tomcat-coyote.jar:8.5.16] at org.apache.coyote.http11.Http11InputBuffer.access$300(Http11InputBuffer.java:40) ~[tomcat-coyote.jar:8.5.16] at org.apache.coyote.http11.Http11InputBuffer$SocketInputBuffer.doRead(Http11InputBuffer.java:1063) ~[tomcat-coyote.jar:8.5.16] at org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFilter.java:140) ~[tomcat-coyote.jar:8.5.16] at org.apache.coyote.http11.Http11InputBuffer.doRead(Http11InputBuffer.java:257) ~[tomcat-coyote.jar:8.5.16] at org.apache.coyote.Request.doRead(Request.java:574) ~[tomcat-coyote.jar:8.5.16] at org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:326) ~[catalina.jar:8.5.16] at org.apache.catalina.connector.InputBuffer.checkByteBufferEof(InputBuffer.java:642) ~[catalina.jar:8.5.16] at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:349) ~[catalina.jar:8.5.16] at org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:183) ~[catalina.jar:8.5.16] at java.io.FilterInputStream.read(FilterInputStream.java:133) ~[na:1.8.0_181] at org.apache.tomcat.util.http.fileupload.util.LimitedInputStream.read(LimitedInputStream.java:132) ~[tomcat-coyote.jar:8.5.16] at org.apache.tomcat.util.http.fileupload.MultipartStream$ItemInputStream.makeAvailable(MultipartStream.java:977) ~[tomcat-coyote.jar:8.5.16] at org.apache.tomcat.util.http.fileupload.MultipartStream$ItemInputStream.read(MultipartStream.java:881) ~[tomcat-coyote.jar:8.5.16] at java.io.InputStream.read(InputStream.java:101) ~[na:1.8.0_181] at org.apache.tomcat.util.http.fileupload.util.Streams.copy(Streams.java:98) ~[tomcat-coyote.jar:8.5.16] at org.apache.tomcat.util.http.fileupload.util.Streams.copy(Streams.java:68) ~[tomcat-coyote.jar:8.5.16] at org.apache.tomcat.util.http.fileupload.MultipartStream.readBodyData(MultipartStream.java:571) ~[tomcat-coyote.jar:8.5.16] at org.apache.tomcat.util.http.fileupload.MultipartStream.discardBodyData(MultipartStream.java:595) ~[tomcat-coyote.jar:8.5.16] at org.apache.tomcat.util.http.fileupload.MultipartStream.skipPreamble(MultipartStream.java:613) ~[tomcat-coyote.jar:8.5.16] at org.apache.tomcat.util.http.fileupload.FileUploadBase$FileItemIteratorImpl.findNextItem(FileUploadBase.java:874) ~[tomcat-coyote.jar:8.5.16] at org.apache.tomcat.util.http.fileupload.FileUploadBase$FileItemIteratorImpl.<init>(FileUploadBase.java:854) ~[tomcat-coyote.jar:8.5.16] at org.apache.tomcat.util.http.fileupload.FileUploadBase.getItemIterator(FileUploadBase.java:256) ~[tomcat-coyote.jar:8.5.16] at org.apache.tomcat.util.http.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:280) ~[tomcat-coyote.jar:8.5.16] ... 51 common frames omitted ```
.net core上利用nodeservice处理js代码,当传入json字符串解析出错
直接上代码 这是我的controller代码 ``` [HttpGet] public async Task<string> Get() { //CheckUser(); string str = "{\"name\":\"json\"}"; var msg = await _nodeServices.InvokeExportAsync<string>("hello", "f2", str); return msg; } ``` 这是我的js代码 ``` module.exports.f2 = function (callback, str) { var json = JSON.parse(str); json.name = "jsonjson"; callback(null, json); }; ``` 但是利用postman调用时总是出现 sonReaderException: Unexpected character encountered while parsing value: {. Path '', line 1, position 1.错误 实在是不知道为什么出错,是nodeService的问题吗
PYTHON json.parse()解码问题。。GBK ,UTF-8编码问题
1. 我用python FLASK,SSE,传了一个json格式的数据到html。在js中用如下语句调用: var eventSrc = new EventSource("/debugstream"); eventSrc.onmessage = function(e) { var ev = JSON.parse(e.data); if ("debug" in ev) debugField.innerHTML+= ev["debug"]; }; 但是会报错,错误是: Uncaught SyntaxError: Unexpected token F in JSON at position 90 at JSON.parse (<anonymous>) at EventSource.eventSrc.onmessage ((index):34) 其中主要是有 ‘\’都是报错的。 输出的字符采用的是gbk编码,已经转成utf-8。但是gbk中存在‘\’的格式,无法用json.parse转换显示成原本的中文。???不知道为什么求解??? def gen_events(): global gLogFile with open(gLogFile, 'r') as f: for l in f: l=l.decode('GBK').encode('utf-8') yield DebugEvent(l.strip()).encode() tm.sleep(0.5) return
相见恨晚的超实用网站
相见恨晚的超实用网站 持续更新中。。。
字节跳动视频编解码面经
三四月份投了字节跳动的实习(图形图像岗位),然后hr打电话过来问了一下会不会opengl,c++,shador,当时只会一点c++,其他两个都不会,也就直接被拒了。 七月初内推了字节跳动的提前批,因为内推没有具体的岗位,hr又打电话问要不要考虑一下图形图像岗,我说实习投过这个岗位不合适,不会opengl和shador,然后hr就说秋招更看重基础。我当时想着能进去就不错了,管他哪个岗呢,就同意了面试...
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
python学习方法总结(内附python全套学习资料)
不要再问我python好不好学了 我之前做过半年少儿编程老师,一个小学四年级的小孩子都能在我的教学下独立完成python游戏,植物大战僵尸简单版,如果要肯花时间,接下来的网络开发也不是问题,人工智能也可以学个调包也没啥问题。。。。。所以python真的是想学就一定能学会的!!!! --------------------华丽的分割线-------------------------------- ...
python 简易微信实现(注册登录+数据库存储+聊天+GUI+文件传输)
socket+tkinter详解+简易微信实现 历经多天的努力,查阅了许多大佬的博客后终于实现了一个简易的微信O(∩_∩)O~~ 简易数据库的实现 使用pands+CSV实现数据库框架搭建 import socket import threading from pandas import * import pymysql import csv # 创建DataFrame对象 # 存储用户数据的表(...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小型人工智障。 知识可以运用在不同地方,不一定非是天气预报。
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
Python实例大全(基于Python3.7.4)
博客说明: 这是自己写的有关python语言的一篇综合博客。 只作为知识广度和编程技巧学习,不过于追究学习深度,点到即止、会用即可。 主要是基础语句,如三大控制语句(顺序、分支、循环),随机数的生成,数据类型的区分和使用; 也会涉及常用的算法和数据结构,以及面试题相关经验; 主体部分是针对python的数据挖掘和数据分析,主要先攻爬虫方向:正则表达式匹配,常用数据清洗办法,scrapy及其他爬虫框架,数据存储方式及其实现; 最后还会粗略涉及人工智能领域,玩转大数据与云计算、进行相关的预测和分析。
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
刷了几千道算法题,这些我私藏的刷题网站都在这里了!
遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活… 然而我是谁,我可是死狗中的战斗鸡,智力不够那刷题来凑,开始了夜以继日哼哧哼哧刷题的日子,从此"读题与提交齐飞, AC 与 WA 一色 ",我惊喜的发现被题虐既刺激又有快感,那一刻我泪流满面。这么好的事儿作为一个正直的人绝不能自己独享,经过激烈的颅内斗争,我决定把我私藏的十几个 T 的,阿不,十几个刷题网...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看...
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
JavaScript 为什么能活到现在?
作者 | 司徒正美 责编 |郭芮 出品 | CSDN(ID:CSDNnews) JavaScript能发展到现在的程度已经经历不少的坎坷,早产带来的某些缺陷是永久性的,因此浏览器才有禁用JavaScript的选项。甚至在jQuery时代有人问出这样的问题,jQuery与JavaScript哪个快?在Babel.js出来之前,发明一门全新的语言代码代替JavaScript...
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
Nginx 原理和架构
Nginx 是一个免费的,开源的,高性能的 HTTP 服务器和反向代理,以及 IMAP / POP3 代理服务器。Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。 Nginx 的整体架构 Nginx 里有一个 master 进程和多个 worker 进程。master 进程并不处理网络请求,主要负责调度工作进程:加载配置、启动工作进程及非停升级。worker 进程负责处...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
Python 编程开发 实用经验和技巧
Python是一门很灵活的语言,也有很多实用的方法,有时候实现一个功能可以用多种方法实现,我这里总结了一些常用的方法和技巧,包括小数保留指定位小数、判断变量的数据类型、类方法@classmethod、制表符中文对齐、遍历字典、datetime.timedelta的使用等,会持续更新......
吐血推荐珍藏的Visual Studio Code插件
作为一名Java工程师,由于工作需要,最近一个月一直在写NodeJS,这种经历可以说是一部辛酸史了。好在有神器Visual Studio Code陪伴,让我的这段经历没有更加困难。眼看这段经历要告一段落了,今天就来给大家分享一下我常用的一些VSC的插件。 VSC的插件安装方法很简单,只需要点击左侧最下方的插件栏选项,然后就可以搜索你想要的插件了。 下面我们进入正题 Material Theme ...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
相关热词 c#委托 逆变与协变 c#新建一个项目 c#获取dll文件路径 c#子窗体调用主窗体事件 c# 拷贝目录 c# 调用cef 网页填表c#源代码 c#部署端口监听项目、 c#接口中的属性使用方法 c# 昨天
立即提问