调用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;

但如果设置断点调试则可以进行,是为什么?

1个回答

因为FileReader()读取文件的过程是异步执行的,只有在onload事件中才能正确的获取result

    var reader = new FileReader();
    reader.readAsText(selectedFile);//读取文件的内容
    reader.onload = function () {//文件读取完毕
        console.log(reader.result);
    }

另外因为是异步获取数据,你的handleFiles函数也就不能通过return 返回数据,要用回调函数的方式传递数据。

用回调函数的方式

function handleFiles(callback) {
    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.onload = function () {//文件读取完毕
        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;
                }
            }
        }
        callback(json);
    }
    reader.readAsText(selectedFile);//读取文件的内容
}

//调用时

handleFiles(function (json) {
    console.log(json);
    获取数据,以及之后的所有操作都放在这里
})
jslang
天际的海浪 回复Fiona_77: 回答已更新
一年多之前 回复
Fiona_77
zyq-lucky 还想麻烦问一下,onload函数什么时候会被调用,我怎么保证他调用后,才进行之后的程序呢?谢谢!
一年多之前 回复
Fiona_77
zyq-lucky 可以解释一下怎么使用回调函数传递数据吗?谢谢!
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
在JSP页面中使用JSON.parse()解析字符串

在JSP页面中用json.parse()解析字符串,在程序运行时,浏览器报脚本错误,说json未定义,json的jar包fast-json-1.1.41引完了,实在找不到原因了,请问这是什么原因?

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

各位大神好,我最近在做毕业课设,在使用微信小程序端进行页面间的传值时发现原本已经实践成功过的使用url传值的方法突然失灵了,我将json字符串通过url传到目标页面没办法将它使用JSON.parse方法解析成json对象。 最后发现和之前成功过的页面比对,两个页面的onload方法下options下的参数不一样,成功的页面的options.title能够获取到而解析失败的页面使用options.title是没办法获取到值的 。这是什么原因呢?应该怎么解决? 下面放出图片对比 ![](https://img-ask.csdn.net/upload/201905/25/1558779759_666380.png) 这张图片是已经成功传值并且解析过的别的页面的onload方法 ![图片说明](https://img-ask.csdn.net/upload/201905/25/1558779799_504124.png) 这是我无法解析的页面截图 希望大神能帮我找出问题在哪里 小弟愿意请您喝一杯星巴克!!!!求求大家啦!!!(加我微信就可以喝哦)

JSON.parse 解析 带斜杠JSON字符串 问题

var objStr = '{"remark":"\"//\""}'; alert(JSON.parse(objStr)); 解析报错,怎么解决?

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);//结果为男 我\\是小宝 ```

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、尝试过其他的深层拷贝对象的方法,有同样的问题。 请大神们指教这是什么问题呀,折磨疯了。

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}

从服务器发送JSON需要两次JSON.parse

<div class="post-text" itemprop="text"> <p>For some reason I have to call JSON.parse twice to create an object in JavaScript. I'm generating JSON from a Go (Golang) server.</p> <p>This is the JavaScript code I'm using.</p> <pre><code>ws.onmessage = function(e) { console.log(e.data); console.log(JSON.parse(e.data)); console.log(JSON.parse(JSON.parse(e.data))); }; </code></pre> <p>And this is what I saw in Chrome's console.</p> <pre><code>"{\"hello\":\"world\"}" {"hello":"world"} Object {hello: "world"} </code></pre> <p>This is how I'm generating JSON on the server side. I suspect my server code is wrong.</p> <pre><code>var jsonBuffer bytes.Buffer jsonBuffer.WriteString("{") for key, value := range mydict { jsonBuffer.WriteString(`"` + key `":"` + value + `"`) } jsonBuffer.WriteString("}") return jsonBuffer.String() </code></pre> <p>This is a simplification of what I'm working on. In reality, <code>mydict</code> is defined as <code>map[string]mystruct</code>.</p> <p><code>mystruct</code> is something like this:</p> <pre><code>type mystruct struct { Foo int Bar float64 } </code></pre> </div>

nodejs JSON.parse在字符串转json的问题

有没有人遇到过,当出现多层级的Json和字符串互转的情况会出现转换的json格式的 数据的内容变成[Object] 例如: { '1': [Object], '2': [Object], '3': [Object], '4': [Object], '5': [Object] } 暂时只发现nodejs里边的解析有问题,其他浏览器都正常。

关于 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); } }); } }); ```

js使用json.parse()如何处理空格,换行等特殊字符

js使用json.parse()如何处理空格,换行等特殊字符 ``` formData=JSON.parse(formData); ``` 我这样把字符串转换成对象,但是提示有Unexpected token异常.查看为有空行的关系; 这个应该如何解决?

求教大神 JSON.parse()报错的问题。

var a = "{'a1':'a','a2':'b'}"; var b = '{"a1":"a","a2":"b"}'; console.info(typeof JSON.parse(a));//这个会报错 console.info(typeof JSON.parse(b));//这个不会报错 对于上面这串代码,一个报错,一个不报错;就一个双引号与单引号的不同,为什么区别这么大,求教大神指点下,谢谢啦

在使用AngularJS获取JSON时获取“错误:JSON.parse:意外字符”

<div class="post-text" itemprop="text"> <p>I've spent the last few days trying to get around this problem. Every time I try to get a JSON object using Angular's $http.get, I get "Error: JSON.parse: unexpected character".</p> <p>My JSON is created using the PHP's json_encode. The PHP code is the following:</p> <pre><code>header('Content-Type:application/json'); echo json_encode($to_encode); </code></pre> <p>The JSON it creates looks like this:</p> <pre><code>{"id":"1","para":{"para_id":"1","story_id":"1","para_content":"&amp;quot;\u017bagiel na horyzoncie!&amp;quot; - s\u0142ycha\u0107 krzyk z bocianiego gniazda. Fregata Jego Kr\u00f3lewskiej Mo\u015bci &amp;quot;Acanta&amp;quot; \u017cwawo sunie przez b\u0142\u0119kit oceanu. Ty, jej dow\u00f3dca, stoisz na rufie. Bosman i sternik patrz\u0105 si\u0119 na ciebie, oczekuj\u0105c rozkaz\u00f3w."},"tunnels":[{"tunnel_id":"1","start_para_id":"1","end_para_id":"2","tunnel_content":"Spokojnie, zbli\u017cmy si\u0119 i sprawd\u017amy, kto to."},{"tunnel_id":"2","start_para_id":"1","end_para_id":"3","tunnel_content":"Bi\u0107 na alarm! Za\u0142oga do dzia\u0142!"}]} </code></pre> <p>(It's UTF8-encoded Polish, if it's relevant; the text is just a placeholder)</p> <p>The JS that gets it look like this:</p> <pre><code>$scope.current_para = $http.get("/gamebook/run"); $scope.current_para.then(function(os){result = os.data; console.log(result);} </code></pre> <p>Instead of a neat JSON in my console.log, I get the error, even though my Firebug tells me that the GET method was successful and even shows me the JSON it received.</p> </div>

angularjs中使用json.stringify()字符串后得到的json对象结果不完整

$scope.upLoad = function() { var emImage = "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"; console.log("emImage>>>>>>>>>>>>>>>>>" + emImage); var requestdata = JSON.stringify({ "base64File": emImage }); console.log("requestdata>>>>>>>>>>>>>>>>>" + requestdata); } 结果1: [INFO:CONSOLE(177)] "emImage>>>>>>>>>>>>>>>>>P7DIrESP56EzCdZ57e0gLgjIwMS8TARUavjVGnRqdWiqqEGgvQ0SzzXOjMO5qxZDH5HM/mq5G9B+pADujmZ0VpKB/g6sXFWBoCEN972yHLtevxZqtYSakgr8bUMsqls1HQat/JDfLy/WatWJAY6ORqM6j35w3YkA/............................................................... vgyk+zyVnsT7upikIha5yOxV1LfGp+Xffg8RFizFjzJhTBmvFhvXwP/VXlC5dirMTosiMcD47BJZgGUWqVg9HUEZ3Yho8qz+m4+7ANrZBZJ67o4CfZYdh2kVZCLdGIm5YEuJZRNy3/QB2fWXDpLxYJGUnw5KVDktyNv5y/Z0s3TDSJmoQFqEmeTWIsEQgIS4SlS1qrNj ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 结果2: [INFO:CONSOLE(181)] "requestdata>>>>>>>>>>>>>>>>>{"base64File":"P7DIrESP56EzCdZ57e0gLgjIwMS8TARUavjVGnRqdWiqqEGgvQ0SzzXOjMO5qxZDH5HM/mq5G9B+pADujmZ0VpKB/g6sXFWBoCEN972yHLtevxZqtYSakgr8bUMsqls1HQat/JDfLy/WatWJAY6ORqM6j35w3YkA/...............................................vgyk+zyVnsT7upikIha5yOxV1LfGp+Xffg8RFizFjzJhTBmvFhvXwP/VXlC5dirMTosiMcD47BJZgGUWqVg9HUEZ3Yho8qz+m4+7ANrZBZJ67o4CfZYdh2kVZCLdGIm5YEuJZRNy3/QB2fWXDpLxYJGUnw5KVDktyNv5y/Z0s3TDSJmoQFqEmeTWI JSON.stringify后得到的对象不完整,结果最后少一部分求赐教!

JSON.parse(xmlhttp.responseText)返回空

<div class="post-text" itemprop="text"> <p>I am using Ajax. My <code>search.php</code> contains the javascript code. It requests for <code>content.php</code> which echoes an array <code>$res</code> that contains values in the form of <code>"key" : value</code>.</p> <p><strong>content.php :</strong></p> <pre><code>echo json_encode($res); </code></pre> <p><strong>search.php:</strong></p> <pre><code> &lt;!--Load the AJAX API--&gt; &lt;script type="text/javascript" src="https://www.google.com/jsapi"&gt; &lt;/script&gt; &lt;script type="text/javascript"&gt; var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == 4 &amp;&amp; xmlhttp.status == 200) { alert(xmlhttp.responseText); //this alerts the correct content of $res but along with all the HTML page codes var array = JSON.parse(xmlhttp.responseText); //also tried json_decode(xmlhttp.responseText, true); and jQuery.parseJSON( xmlhttp.responseText ); alert(array); // this doesn't alert at all } } xmlhttp.open("GET", "&lt;?php echo @$this-&gt;config-&gt;base_url(); ?&gt;index.php/content.php", true); xmlhttp.send(); &lt;/script&gt; </code></pre> <p>However, when I print <code>$res</code> alone in a separate page, it shows the correct output which is:</p> <pre><code>{"1894":1,"1905":0,"1916":0,"1927":0,"1938":0,"1949":0,"1960":0,"1971":0,"1982":0,"1993":0,"2004":1,"2015":2} </code></pre> <p>I tried to loop through the array:</p> <pre><code>var array = JSON.parse(xmlhttp.responseText); for(var index in array) { alert(index+ " is: "+ array[index]); } </code></pre> <p>But this also doesn't alert anything. I've been trying and searching on this for days but couldn't find a working solution.</p> <p><strong>Edit:</strong></p> <p>here is the output of <code>alert(xmlhttp.responseText)</code> :</p> <p><a href="http://i.stack.imgur.com/eNt2s.png" rel="nofollow">part 1 of the alert window</a></p> <p><a href="http://i.stack.imgur.com/c9iUC.png" rel="nofollow">part 2 of the alert window</a></p> <p>couldn't post more than two links (because I don't have enough reputation), anyway you had a glimpse of it, I believe.</p> </div>

JSON.parse 只能解析 标准的json字面量,如果是不标准的如何解决??

有木有什么插件可以用?我碰到一个json字面量,是 key 不带 引号。。因此用JSON.parse 解析时会报错。。

json_encode和JSON.parse错误:SyntaxError:JSON.parse:JSON数据第2行第43行的JSON数据之后的意外非空白字符

<div class="post-text" itemprop="text"> <p>So, I've been trying to send an array from a php file to a script through JSON, using json_encode, but whatever I do, I keep getting the same error: </p> <p>SyntaxError: JSON.parse: unexpected non-whitespace character after JSON data at line 2 column 43 of the JSON data</p> <p>Now, I've used jsonlint to validate the JSON received through json_encode, but it shows as not valid.</p> <p>Here's my PHP code/query:</p> <pre><code> &lt;?php require_once '../../DAO/model.php'; $cd = $_POST['cd']; $query = "SELECT ID,name FROM user WHERE cost_center = '$cd' order by name"; $results = mysqli_query($conn, $query); while ($row = mysqli_fetch_assoc($results)){ echo json_encode($row); } ?&gt; </code></pre> <pre><code> $("#centro").change(function(){ var id = $("#centro").val(); $.ajax({ url: 'insertManager.php', method: 'POST', data: {'cd': id} }).done(function(manager){ $('#manager').empty(); console.log(manager); manager = JSON.parse(manager); manager.forEach(function(managers){ $('#manager').append('&lt;option value = "' + managers.id + '"&gt;' + managers.name + '&lt;/option&gt;') }) }) }); </code></pre> <p>And, just to make sure, that is part of the JSON he is generating</p> <pre><code>{ "ID": "RXA47", "name": "Abraao Silva Souza" } { "ID": "F7R53", "name": "Adao David Bueno" } { "ID": "DP800", "name": "Adilson Silva" } { "ID": "C355P", "name": "Adolfo Filho" } </code></pre> <p>I need to be able to iterate through this JSON so I can append the options, but it doesn't even get to that, since it gives me the JSON syntax error, what am I doing wrong?</p> </div>

JSON.parse给了我对象而不是结果

<div class="post-text" itemprop="text"> <p>I have variable in javascript which is coming from php by json_encode. While I am psrsing it with JSON.parse(variable). It alert me objects instead of actual result.</p> <p>CODE:</p> <pre><code>var a = '&lt;?php echo json_encode($over_branch_array); ?&gt;'; a = JSON.parse(a); alert(a); </code></pre> <p>EDIT:</p> <p>basically I need to map my php array.</p> <pre><code>a = a.map(function(v){ return { id : v.branch, text : v.branch }; }); </code></pre> <p>If I will do JSON.stringify then I won't be able to do that..</p> </div>

Json调用JSON.parse:意外结束数据

<div class="post-text" itemprop="text"> <p>I've been looking around stackoverflow for the answer to my problem but I can't seem to find why this is happening.</p> <p>I've created a webserver which returns a JSON object:</p> <pre><code>http://213.125.101.19/api.php?function=test </code></pre> <p>After that i created an HTML file with the following javascript to call the JSON using Ajax</p> <pre><code>&lt;script language="javascript" type="text/javascript"&gt; &lt;!-- //Browser Support Code function ajaxCall(){ var ajaxRequest; // The variable that makes Ajax possible! try{ // Opera 8.0+, Firefox, Safari ajaxRequest = new XMLHttpRequest(); } catch (e){ // Internet Explorer Browsers try{ ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try{ ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e){ // Something went wrong alert("Your browser broke!"); return false; } } } // Create a function that will receive data sent from the server ajaxRequest.onreadystatechange = function(){ if(ajaxRequest.readyState == 4){ var response = ajaxRequest.responseText; obj = JSON.parse(response); console.log(obj); if(response.indexOf("Fatal error")&gt;=0){ alert('Error, Try again.'); }else{ document.getElementById("response").value = response; } } } ajaxRequest.open("GET", "http://213.125.101.19/api.php?function=test", true); ajaxRequest.send(null); } &lt;/script&gt; </code></pre> <p>When I run this code, my Firebug returns </p> <p>"SyntaxError: JSON.parse: unexpected end of data obj = JSON.parse(response);"</p> <p>If I run my JSON trough a validator, everything seems to be fine.</p> <p>Any ideas how to fix this?</p> <p>Kind Regards, Luuk</p> </div>

$ .parseJSON()如何解析数组?

<div class="post-text" itemprop="text"> <p>I get an array from mysql query in test.php </p> <p><code>$rows =Array ( [0] =&gt; Array ( [name] =&gt; nikhil ) [1] =&gt; Array ( [name] =&gt; akhil )) </code></p> <p>I convert it into json format string and echo it</p> <pre><code>$jsonstring = json_encode($rows); echo $jsonstring; </code></pre> <p>OUTPUT :</p> <blockquote> <p>[{"name":"nikhil"},{"name":"akhil"}]</p> </blockquote> <p>I know this is still not in json format but it is an array(of json)</p> <p>But now i can use <code>$.parseJSON</code> in <code>jquery.php</code></p> <pre><code> $.post("/test.php",function(r){var jsonobject = $.parseJSON(r); for(var i=0;jsonobject[i];i++){ $("#userslist").append("&lt;br&gt;" + jsonobject[i].name);} </code></pre> <p>and it parse it properlly , and i can access this json object as well , but as we know </p> <p><code>$.parseJSON()</code> converts only well formed json string into object. <a href="http://api.jquery.com/jquery.parsejson/" rel="nofollow">http://api.jquery.com/jquery.parsejson/</a></p> <blockquote> <p>$.parseJSON(): Takes a well-formed JSON string and returns the resulting JavaScript value.</p> </blockquote> <p>so how <code>$.parseJSON()</code> parse an array ? any ideas?</p> </div>

大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了

大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

点沙成金:英特尔芯片制造全过程揭密

“亚马逊丛林里的蝴蝶扇动几下翅膀就可能引起两周后美国德州的一次飓风……” 这句人人皆知的话最初用来描述非线性系统中微小参数的变化所引起的系统极大变化。 而在更长的时间尺度内,我们所生活的这个世界就是这样一个异常复杂的非线性系统…… 水泥、穹顶、透视——关于时间与技艺的蝴蝶效应 公元前3000年,古埃及人将尼罗河中挖出的泥浆与纳特龙盐湖中的矿物盐混合,再掺入煅烧石灰石制成的石灰,由此得来了人...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

我说我不会算法,阿里把我挂了。

不说了,字节跳动也反手把我挂了。

优雅的替换if-else语句

场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解锁新姿势:干掉过多的if-else!!!本文将介绍三板斧手段: 优先判断条件,条件不满足的,逻辑及时中断返回; 采用策略模式+工厂模式; 结合注解,锦...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

你打算用Java 8一辈子都不打算升级到Java 14,真香

我们程序员应该抱着尝鲜、猎奇的心态,否则就容易固步自封,技术停滞不前。

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

《经典算法案例》01-08:如何使用质数设计扫雷(Minesweeper)游戏

我们都玩过Windows操作系统中的经典游戏扫雷(Minesweeper),如果把质数当作一颗雷,那么,表格中红色的数字哪些是雷(质数)?您能找出多少个呢?文中用列表的方式罗列了10000以内的自然数、质数(素数),6的倍数等,方便大家观察质数的分布规律及特性,以便对算法求解有指导意义。另外,判断质数是初学算法,理解算法重要性的一个非常好的案例。

《Oracle Java SE编程自学与面试指南》最佳学习路线图(2020最新版)

正确选择比瞎努力更重要!

一文带你入门Java Stream流,太强了

两个星期以前,就有读者强烈要求我写一篇 Java Stream 流的文章,我说市面上不是已经有很多了吗,结果你猜他怎么说:“就想看你写的啊!”你看你看,多么苍白的喜欢啊。那就“勉为其难”写一篇吧,嘻嘻。 单从“Stream”这个单词上来看,它似乎和 java.io 包下的 InputStream 和 OutputStream 有些关系。实际上呢,没毛关系。Java 8 新增的 Stream 是为...

立即提问
相关内容推荐