json深拷贝有正则表达式的时候会返回空对象,就是js用json深拷贝的缺点吗? 使用正则表达式从以下内容中提取出token-id的值

\u6c42\u52a9\u89e3\u6790JSON\u5bf9\u8c61\u65f6\u6b63\u5219\u8868\u8fbe\u5f0f\u7684\u5199\u6cd5\uff0c\u5bf9\u53cc\u5f15\u53f7\u7684\u5904\u7406

\u5e9f\u8bdd\u4e0d\u591a\u8bf4
\u76f4\u63a5\u4e0a\u4ee3\u7801
json\u4e0d\u4f1a
js\u4ee3\u7801
a = '"\u8d8a\u5357\u67e5\u7981\u4e2d\u56fd\u90ae\u7968 \u79f0\u6240\u5370\u897f\u6c99\u7fa4\u5c9b\u4e3a"\u8d8a\u5357\u9886\u571f""';var b;b = a.replace(/"\u8d8a\u5357\u9886\u571f"/,'\\"\u8d8a\u5357\u9886\u571f\\"');document.write(b);

Javascript\u6b63\u5219\u8868\u8fbe\u5f0f/"token-id": "([^\"]*?)"/g \u53d6\u7b2c\u4e00\u6355\u83b7\u7ec4\u7684\u6570\u636e
\u6211\u7ed9\u4f60\u4e00\u4e2aJavascript\u8bed\u8a00\u7684\u4f8b\u5b50,\u4f60\u770b\u770b\u5427
var str='{ "output": { "token-data": { "token-id": "YWRtaW5AYWMuYnJhbmNoOkFhY0AxMjM0NTY=", "expired-at": { "_value": "2017-05-02T23:36:39,597+08:00"}}}}'; var regex=/"token-id": "([^\"]*?)"/g; var arr; while((arr=regex.exec(str))!=null){ alert(arr[1]); }\u8fd0\u884c\u7ed3\u679cYWRtaW5AYWMuYnJhbmNoOkFhY0AxMjM0NTY=

JSON.parse(JSON.stringify())复制时间对象、Error对象、正则表达式,函数,或者undefined等值,此方法就会出现问题

    1.如果json里面有时间对象,则序列化结果:时间对象=>字符串的形式;

    2.如果json里有RegExp、Error对象,则序列化的结果将只得到空对象 RegExp、Error => {};

    3.如果json里有 function,undefined,则序列化的结果会把 function,undefined 丢失;

    4.如果json里有NaN、Infinity和-Infinity,则序列化的结果会变成null;

    5.如果json里有对象是由构造函数生成的,则序列化的结果会丢弃对象的 constructor;

    6.如果对象中存在循环引用的情况也无法实现深拷贝

以上,如果拷贝的对象不涉及上面讲的情况,可以使用JSON.parse(JSON.stringify(obj))实现深拷贝,但是涉及到上面的情况(除循环引用的情况外),可以考虑使用如下方法实现深拷贝:

如果被拷贝对象中没有对时间、正则要求兼容的话,可以采用如下方法



  • json娣辨嫹璐濇湁姝e垯琛ㄨ揪寮忕殑鏃跺浼氳繑鍥炵┖瀵硅薄,灏辨槸js鐢╦son娣辨嫹璐濈殑缂虹偣鍚...
    绛旓細JSON.parse(JSON.stringify())澶嶅埗鏃堕棿瀵硅薄銆丒rror瀵硅薄銆姝e垯琛ㄨ揪寮锛屽嚱鏁帮紝鎴栬卽ndefined绛夊硷紝姝ゆ柟娉曞氨浼氬嚭鐜伴棶棰 1.濡傛灉json閲岄潰鏈夋椂闂村璞★紝鍒欏簭鍒楀寲缁撴灉锛氭椂闂村璞=>瀛楃涓茬殑褰㈠紡锛2.濡傛灉json閲屾湁RegExp銆丒rror瀵硅薄锛屽垯搴忓垪鍖栫殑缁撴灉灏嗗彧寰楀埌绌哄璞 RegExp銆丒rror => {}锛3.濡傛灉json閲屾湁 function,un...
  • JSON.stringify娣辨嫹璐濈殑缂虹偣鍙婅В鍐
    绛旓細1.濡傛灉obj閲岄潰鏈夋椂闂村璞★紝鍒JSON.stringify鍚庡啀JSON.parse鐨勭粨鏋滐紝鏃堕棿灏嗗彧鏄瓧绗︿覆鐨勫舰寮忥紝鑰屼笉鏄璞$殑褰㈠紡 2.濡傛灉obj閲屾湁RegExp(姝e垯琛ㄨ揪寮忕殑缂╁啓)銆丒rror瀵硅薄锛屽垯搴忓垪鍖栫殑缁撴灉灏嗗彧寰楀埌绌哄璞★紱3銆佸鏋渙bj閲屾湁鍑芥暟锛寀ndefined锛屽垯搴忓垪鍖栫殑缁撴灉浼氭妸鍑芥暟鎴 undefined涓㈠け锛4銆佸鏋渙bj閲屾湁NaN銆両nfinity...
  • 浣跨敤JSON 鏉ュ鏁版嵁杩涜搴忓垪鍖栧拰鍙嶅簭鍒楀寲,鏉娣辨嫹璐,鏈変粈涔堢己鐐瑰憿?
    绛旓細JSON.parse(JSON.stringfy(X)) 鍙兘鏄疦umber, String, Boolean, Array, 绛夌瓑鍗冲彲浠ヨ鐩存帴琛ㄨ揪銆佽鍙栫殑鏁版嵁 JSON.stringify 娣辨嫹璐濈殑鏁版嵁缂虹偣锛屼互涓嬩负娣辨嫹璐濆拰鐨勭粨鏋 涓嶉傜敤鍖呭惈浜嗗璞$殑鏁版嵁锛屽惁鍒欎細寰楀埌瀵硅薄鐨勫瓧绗︿覆褰㈠紡缁撴灉锛堝锛歯ew Date()浼氬緱鍒板叾鎵ц缁撴灉鐨勫瓧绗︿覆鏁版嵁鈥淢on Aug 03 2020 12:55:4...
  • python鍝簺鏍囧噯搴
    绛旓細姝e垯琛ㄨ揪寮忔搷浣溿傝繖涓簱鏄垜鍠滄骞朵笖缁忓父浼氱敤鍒扮殑搴,鍦ㄥ澶ч噺瀛楃涓茶繘琛屽鐞鐨勬椂鍊鐢ㄦ鍒欒〃杈惧紡鏄渶蹇熸湁鏁堢殑鏂瑰紡,浣嗘槸姝e垯琛ㄨ揪寮忕殑瀛︿範鏇茬嚎杈冮珮,鏈夊叴瓒g殑鏈嬪弸鍙互璁块棶杩欎釜缃戠珯瀛︿範銆俶ath鏁板鍑芥暟搴撱 math 搴撴彁渚涗簡瀵 C 璇█鏍囧噯瀹氫箟鐨勬暟瀛﹀嚱鏁拌闂,姣斿鏁拌(Number-theoretic)鐨勫悇绉嶈〃绀烘柟娉曘佸箓鍜屽鏁板嚱鏁(Power and...
  • 瑕佹垚涓轰竴鍚嶄笓涓氱殑绋嬪簭鍛,浠庨浂寮濮嬮渶瑕佹庝箞涓姝ユ鏉ユ瘮杈冨ソ,瑕佹妸鏈搴曞眰...
    绛旓細浜嗚В姝e垯琛ㄨ揪寮,浣跨敤姝e垯琛ㄨ揪寮忔潵鏌ユ壘鏂囦欢銆傚浜庣▼搴忓憳鏉ヨUnix/Linux姣擶indows绠鍗曞浜嗐(鍙傜湅鎴戝洓骞村墠CSDN鐨勫崥鏂囥婂叾瀹濽nix寰堢畝鍗曘)瀛︿細浣跨敤Unix/Linux浣犱細鍙戠幇鍥惧舰鐣岄潰鍦ㄦ煇浜鏃跺瀹炲湪鏄お闅剧敤浜,鐩稿綋鍦扮浉褰撳湴闄嶄綆宸ヤ綔鏁堢巼銆4銆 瀛︿範Web鍩虹(HTML/CSS/JS) + 鏈嶅姟鍣ㄧ鎶鏈 (LAMP)鏈潵蹇呯劧鏄疻eb鐨勪笘鐣,瀛︿範WEB...
  • 璋佽兘鎻愪緵涓浜汣++闈㈣瘯鐨勫父瑙佺▼搴忛
    绛旓細鍥炵瓟锛氭祦涓偖绠,鎴戝彲浠ュ彂缁欎綘! 缁忓吀C++闈㈣瘯棰 1.浠嬬粛涓涓婼TL,璇︾粏璇存槑STL濡備綍瀹炵幇vector銆 Answer STL (鏍囧噯妯$増搴,Standard Template Library.瀹冪敱瀹瑰櫒绠楁硶杩唬鍣ㄧ粍鎴愩 STL鏈変互涓嬬殑涓浜涗紭鐐: 鍙互鏂逛究瀹规槗鍦板疄鐜版悳绱㈡暟鎹垨瀵规暟鎹帓搴忕瓑涓绯诲垪鐨勭畻娉; 璋冭瘯绋嬪簭鏃舵洿鍔犲畨鍏ㄥ拰鏂逛究; 鍗充娇鏄汉浠敤STL鍦║NIX骞...
  • 椋庡彉缂栫▼鐨凱ython璇剧▼瀛﹀畬鏁堟灉濡備綍?
    绛旓細1.re妯″潡杩涜姝e垯琛ㄨ揪寮缂栬瘧鍜屽尮閰,濡傛灉璇ヨ〃杈惧紡闇瑕佸尮閰嶅緢澶氭,閭d箞鏈濂借繘琛岀紪璇戜粠鑰屽ぇ澶ц妭鐪佹椂闂淬 姝e垯琛ㄨ揪寮忓尮閰嶉偖绠变緥瀛: 12345678910 import re hah = re.compile('[0-9a-zA-Z]+[\.[0-9a-zA-Z]+]*\@[0-9a-zA-Z]+\.[a-z]{2,3}')print(hah.match('[email protected]').group())print(hah...
  • 鎴戞兂瀛︾紪绋,搴旇瀛﹀摢涓绫,姹傚姪
    绛旓細浜嗚В姝e垯琛ㄨ揪寮锛屼娇鐢ㄦ鍒欒〃杈惧紡鏉ユ煡鎵炬枃浠躲傚浜庣▼搴忓憳鏉ヨUnix/Linux姣擶indows绠鍗曞浜嗐傦紙鍙傜湅鎴戝洓骞村墠CSDN鐨勫崥鏂囥婂叾瀹濽nix寰堢畝鍗曘嬶級瀛︿細浣跨敤Unix/Linux浣犱細鍙戠幇鍥惧舰鐣岄潰鍦ㄦ煇浜鏃跺瀹炲湪鏄お闅剧敤浜嗭紝鐩稿綋鍦扮浉褰撳湴闄嶄綆宸ヤ綔鏁堢巼銆4銆 瀛︿範Web鍩虹锛圚TML/CSS/JS) + 鏈嶅姟鍣ㄧ鎶鏈 (LAMP)鏈潵蹇呯劧鏄疻eb鐨...
  • 扩展阅读:js表达式生成器 ... 正则表达式翻译器 ... 一键生成正则表达式 ... js 正则表达式匹配 ... java正则表达式大全 ... js正则表达式怎么用 ... js正则表达式中的取反 ... json深拷贝的优缺点 ... js正则表达式规则 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网