আপনার JSON এবং .stringify()
এটি নিন । তারপরে .replace()
পদ্ধতিটি ব্যবহার করুন এবং এর \n
সাথে সমস্ত উপস্থিতি প্রতিস্থাপন করুন \\n
।
সম্পাদনা করুন:
আমি যতদূর জানি, একটি স্ট্রিংয়ে সমস্ত বিশেষ অক্ষর থেকে বাঁচার জন্য কোনও সুপরিচিত জেএস লাইব্রেরি নেই। তবে, আপনি এই .replace()
পদ্ধতিটিকে শৃঙ্খলাবদ্ধ করতে এবং বিশেষ চরিত্রগুলির মতো এটি প্রতিস্থাপন করতে পারেন:
var myJSONString = JSON.stringify(myJSON);
var myEscapedJSONString = myJSONString.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");
// myEscapedJSONString is now ready to be POST'ed to the server.
তবে এটি বেশ বাজে, তাই না? ফাংশনগুলির সৌন্দর্য লিখুন যাতে তারা আপনাকে কোডটি টুকরো টুকরো করতে দেয় এবং আপনার স্ক্রিপ্টের মূল প্রবাহকে পরিষ্কার রাখতে এবং 8 টি চেইনড .replace()
কল থেকে মুক্ত রাখতে দেয় । সুতরাং আসুন যে কার্যকারিতা ডাকা একটি ফাংশন escapeSpecialChars()
,। এর এগিয়ে যান এবং এটি সংযুক্ত করা যাক prototype chain
এর String
অবজেক্ট, তাই আমরা কল করতে পারেন escapeSpecialChars()
সরাসরি স্ট্রিং বস্তুর উপর।
তাই ভালো:
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 myJSONString = JSON.stringify(myJSON);
var myEscapedJSONString = myJSONString.escapeSpecialChars();
// myEscapedJSONString is now ready to be POST'ed to the server