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

السؤال

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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...