تحويل سلاسل UTF-8 إلى مصفوفات بايت
يتطلب إلغاء تنظيم JSON إدخال شريحة بايت، بينما يتم تخزين السلاسل بتنسيق UTF-8 في Go . تستكشف هذه المقالة التحويل الفعال لسلاسل UTF-8 إلى صفائف بايت.
يسمح Go بتحويل السلاسل إلى شرائح بايت، وإنشاء نسخة من بايتات السلسلة :
s := "some text"
b := []byte(s)
ومع ذلك، بالنسبة للسلاسل الكبيرة، يكون هذا الأسلوب غير فعال بسبب النسخ.Using io.Reader
البديل الفعال هو استخدام strings.NewReader() لإنشاء io.Reader الذي يقرأ من السلسلة دون نسخ:s := `{ "somekey": "somevalue" }`
var result interface{}
err := json.NewDecoder(strings.NewReader(s)).Decode(&result)
يتجنب هذا الأسلوب نسخ السلسلة.نصوص JSON الصغيرة
بالنسبة لنصوص JSON الصغيرة، يظل التحويل المباشر خيارًا سريعًا:s := `{ "somekey": "قيمة ما" }` واجهة نتيجة فار {} err := json.Unmarshal([]byte(s), &result)s := `{ "somekey": "somevalue" }`
var result interface{}
err := json.Unmarshal([]byte(s), &result)
عند قراءة JSON من io.Reader (على سبيل المثال، ملف أو شبكة)، قم بتمرير io. القارئ مباشرة إلى json.NewDecoder() دون قراءة سلسلة وسيطة. تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3