Mohssen A Mohssen نشر 20 يناير 2022 أرسل تقرير نشر 20 يناير 2022 لدي قائمة list تحتوي على بعض أسماء المستخدمين وأريد تحويل هذه القائمة إلى كود JSON وإرجاعها كـ API في فلاسك Flask ، ولكن المشكلة أن بعض الأسماء تكون مكتوبة برموز غريبة مثل მოითხოვეთ حيث يتم تحويل هذه الرموز إلى الكود التالي: { "result": [ "\u10db\u10dd\u10d8\u10d7\u10ee\u10dd\u10d5\u10d4\u10d7" ] } هنا الكود الخاص بهذه الجزئية: from flask import Flask, jsonify, request app = Flask(__name__) @app.route("/users") def users(): names = [] names.append(u'მოითხოვეთ') return jsonify(result=names) if __name__ == "__main__": app.run(debug=True) كيف يمكنني تحويل هذه الرموز إلى ما كود JSON بترميز UTF-8 لكي تكون النتيجة كالتالي: { "result": [ "მოითხოვეთ" ] } اقتباس
1 Mohamed Abu Abdo نشر 21 يناير 2022 أرسل تقرير نشر 21 يناير 2022 افتراضيا تقوم flask بدعم ASCII في الطلبات الخاصة بها وهو المتسبب في ظهور بعض اللغات التي تكتب من اليمين لليسار بالشكل الذي أشرت إليه في سؤالك, لذا إذا كنا نريد استخدم jsonify من flask فكل ما علينا فعله هو تعطيل استخدام ASCII , من خلال app.config['JSON_AS_ASCII'] = False ثم إكمال كودك كما تريد علي سبيل المثال , from flask import (Flask, render_template, jsonify) app = Flask(__name__, template_folder='template') app.config['JSON_AS_ASCII'] = False @app.route('/test', methods = ['POST']) def test_fun(): req = 'მოითხოვეთ' return jsonify(data=req) if __name__ == "__main__": app.run(debug = True) لن تكون هناك مشكلة سواء أضفت u إلي السلسة النصية أو لا فالنتيجة علي اي حال ستكون { "data": "მოითხოვეთ" } استخدم PostMan او curl فالنتيجة ذاتها, curl -X POST http://localhost:5000/test 1 اقتباس
السؤال
Mohssen A Mohssen
لدي قائمة list تحتوي على بعض أسماء المستخدمين وأريد تحويل هذه القائمة إلى كود JSON وإرجاعها كـ API في فلاسك Flask ، ولكن المشكلة أن بعض الأسماء تكون مكتوبة برموز غريبة مثل მოითხოვეთ حيث يتم تحويل هذه الرموز إلى الكود التالي:
هنا الكود الخاص بهذه الجزئية:
كيف يمكنني تحويل هذه الرموز إلى ما كود JSON بترميز UTF-8 لكي تكون النتيجة كالتالي:
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.