اذهب إلى المحتوى

السؤال

نشر

لدي قائمة 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": [
  "მოითხოვეთ"
  ]
}

 

Recommended Posts

  • 1
نشر

افتراضيا تقوم 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 فالنتيجة ذاتها,

Screenshot_408.png.d6e2ef665488ac2e00513931b073ff0b.png

curl -X POST http://localhost:5000/test

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...