"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية الهروب من أحرف السطر الجديد في سلاسل JSON باستخدام JavaScript؟

كيفية الهروب من أحرف السطر الجديد في سلاسل JSON باستخدام JavaScript؟

تم النشر بتاريخ 2024-11-10
تصفح:711

How to Escape Newline Characters in JSON Strings with JavaScript?

الهروب من أحرف السطر الجديد في سلاسل JSON باستخدام JavaScript

غالبًا ما تتطلب سلاسل JSON تضمين أحرف سطر جديدة لسهولة القراءة. ومع ذلك، يمكن أن تسبب هذه الأحرف مشكلات عند إرسالها مباشرةً بتنسيق JSON. لمعالجة هذه المشكلة، من الضروري الهروب منها قبل إرسال السلسلة.

الخيار 1: استخدام JSON.stringify () و .replace ()

أولاً، قم بتحويل كائن JSON إلى سلسلة باستخدام JSON.stringify():

var json = JSON.stringify({"value": "This \nis a test"});
ثم ، قم بالهروب من أحرف السطر الجديد باستخدام .replace():

var escapedJson = json.replace(/\\n/g, "\\\\n");
هذا يستبدل كافة مثيلات "\n" بـ "\n،" وينجح في الهروب من أحرف السطر الجديد.

الخيار 2: الهروب من الأحرف الخاصة باستخدام وظيفة قابلة لإعادة الاستخدام

للهروب جميع الأحرف الخاصة، بما في ذلك أحرف السطر الجديد، يمكنك إنشاء وظيفة قابلة لإعادة الاستخدام:

String.prototype.escapeSpecialChars = function() { إرجاع هذا.استبدال(/\\n/g, "\\\\n") .replace(/\\'/g, "\\\\'") .replace(/\\"/g, '\\\\"') .replace(/\\&/g, "\\\\&") .replace(/\\r/g, "\\\\r") .replace(/\\t/g, "\\\\t") .replace(/\\b/g, "\\\\b") .replace(/\\f/g, "\\\\f"); };

يمكن تطبيق هذه الوظيفة على أي سلسلة تحتاج إلى الهروب:
String.prototype.escapeSpecialChars = function() {
  return this.replace(/\\n/g, "\\\\n")
             .replace(/\\'/g, "\\\\'")
             .replace(/\\"/g, '\\\\"')
             .replace(/\\&/g, "\\\\&")
             .replace(/\\r/g, "\\\\r")
             .replace(/\\t/g, "\\\\t")
             .replace(/\\b/g, "\\\\b")
             .replace(/\\f/g, "\\\\f");
};
var json = JSON.stringify({"value": "This \is a test"}) ; var escapedJson = json.escapeSpecialChars();

يهرب كلا الخيارين بشكل فعال من أحرف السطر الجديد في سلاسل JSON، مما يضمن التوافق عند نقل بيانات JSON.
            
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3