سؤال

مكررة: التسلسلية إلى JSON في مسج

يبدو أن هناك سلمان مسلسل/deserializer المدمج في مسج, حيث أنها قادرة على تنفيذ أشياء مثل .getJSON .هل من الممكن استخدام المدمج في مسج سلمان المعالج نفسه للأغراض العامة JSON المعالج (أي.جعل مسج.شيء() الدعوة إلى تسلسل/إلغاء تسلسل بلدي البيانات) ، وإزالة الحاجة منفصل سلمان المكتبة ؟

تحديث:الردود في السؤال المشار إليه أعلاه أقول لا يوجد سلمان رمز التسلسل في مسج.ماذا عن سلمان إلغاء التسلسل?كيف هو .getJSON تنفيذ لماذا لا إلغاء التسلسل القدرة يتعرض للاستخدام العام?

Update2:أنا بالفعل باستخدام json2 من json.org أنا أحاول التخلص من كل ما أفعله هو بسيط إلغاء التسلسل.يبدو مسج حقا هو مجرد القيام eval?كان لدي انطباع التي لم تكن جيدة بالنسبة الأمن:

التقييم وظيفة سريعة جدا.ومع ذلك ، فإنه يمكن تجميع وتنفيذ أي برنامج جافا سكريبت ، لذلك لا يمكن أن أن القضايا الأمنية

هل كانت مفيدة؟

المحلول

مسج لا مجرد استخدام eval() الآن.مسج 1.4 سوف تشمل دعم المتصفح الأصلي سلمان إلغاء التسلسل في المتصفحات التي تدعم ذلك.يمكنك الاستفادة من هذا الآن إذا كنت تريد ، باستخدام مسج هو dataFilter رد لتجنب eval() عندما يكون ذلك ممكنا (وضعه في $.ajaxSetup أن تؤثر على جميع $.اياكس(), $.بعد(), $.getJSON() المكالمات تلقائيا).

نصائح أخرى

يبدو أن ما تحتاجه هو تسلسل/إلغاء تسلسل التنفيذ متاحة في http://www.json.org/js.html التي توفر JSON.تحليل() و JSON.stringify(), مما يجعل من السهل (دي)تسلسل التحقق من صحة البيانات.

إذا كنت بسيطة تريد ترجمة سلمان النص إلى كائن ثم استخدام eval() وظيفة.

أنا بدأت للتو باستخدام مسج, و أجد أنه من الأسهل لمجرد إسقاط JSON2.js مكتبة من JSON.org ثم تمتد مسج استخدامه.

وأعتقد أن إلغاء تسلسل واردة البيانات json مسج فقط eval()'ق ذلك.أنا لا أعرف من أي serialziation بنيت على الرغم من.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top