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

قراءة وكتابة ملف json ضمن flask

Eslam Genidy

السؤال

Recommended Posts

  • 0

لقراءة الملف: يجب أن تقوم أولاً بتحديد مسار الملف، ثم قراءة المحتوى باستخدام الدالة readlines وإرساله إلى المستخدم كالتالي:

    root = os.path.realpath(os.path.dirname(__file__))
    json_path = os.path.join(root,'myfile.json') {% قم بتغيير المسار حسب تموضعه ضمن مشروعك %}
    myfile = open(json_path)

    json_data = myfile.readlines()
    myfile.close()
    return json_data

وللكتابة على الملف، يمكنك استخدام الدالة dump الموجودة ضمن مكتبة json:

with open('myfile.json', 'w') as f:
        json.dump(data, f) {% مع استبدال المتغيّر data بالبيانات المطلوبة %}

يمكنك أيضاً الاطلاع على المزيد من الخصائص والأمثلة التي تقدمها هذه المكتبة من التوثيق الرسمي.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

فلاسك عبارة عن إطار عمل للويب بلغة بايثون، ويمكنك أن تقوم بقراءة ملفات JSON بشكل عادي كما تقوم بها بلغة بايثون، هنا مثال لكيفية قراءة ملف JSON :

with open('db.json', 'r', encoding='utf-8') as f:
    content = f.read()
    json_data = json.loads(content)
    print(json_data)

كما يمكن إستخدام هذه الطريقة في تطبيق مبني بإستخدام فلاسك Flask كالتالي:

from flask import Flask, jsonify
import json

app = Flask(__name__)    

@app.route('/', methods=['POST', 'GET'])
def index():
    with open('db.json', 'r', encoding='utf-8') as f:
        content = f.read()
        json_data = json.loads(content)    # قراءة ملف json
    return jsonify(json_data)   # إرسال كود json

if __name__ == '__main__':
    app.run(debug=True)

لحفظ كود JSON إلى ملف يمكنك أن تقوم بنفس الشيء، على النحو التالي:

json_data = {'posts': [{'id': 1, 'title': 'json-server'}, {'id': 2, 'title': 'post 2'}]}
content = json.dumps(json_data)	# تحويل الكائن إلى كود JSON على شكل نص
with open('db.json', 'w', encoding='utf-8') as f:
    f.write(content)

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...