سؤال

أنا جديد تماما في جون وأنا قد أحتاج إلى استخدامه في المستقبل، لذا فعلت بعض القراءة من ذلك. هناك الكثير من الأسئلة المتعلقة ب JSON على ذلك. لقد وجدت أكواد من المقالات باستخدام Google، قرأت JSON.ORG لكنني لم أفهم كيفية تخزين بيانات JSON.

JSON هو تنسيق تبادل البيانات خفيف الوزن. فكيف أخزن بياناتها؟ في ملفب في قاعدة البياناتب هل يهم؟

يمكنني استخدامه لتمرير البيانات إلى jstee. (JSTREE مقرها جافا سكريبت، مكون شجرة متصفح متقاطع. يتم تعبئته كمجد مسج.) سيكون مع وورد. أحاول أن أفهم كيف سأخزن البيانات؟ في ملف؟ ملف نصي؟ في قاعدة بيانات وورد؟ أي واحد أسرع؟ أفضل لاستخدام؟

الحالة الحالية قبل أي ترميز، لا يوجد تطبيق قيد التشغيل

  • أنا أستعد البيانات المصدر وحتى الآن مصدر ملف CSV هو 235 كيلو بايت في الحجم مع حوالي 700 خط (خط = العقد / الأوراق المستقبلية). يمكنني استخدام ملف CSV فقط لجمع البيانات، ثم سأقوم بتحميل / تحديث مصدر البيانات على خادم الويب.
  • ينمو الرقم دعنا نقول كل أسبوع من 5 إلى 10 سنوات.
  • الملف على جهاز الكمبيوتر المحلي الخاص بي وسيتم تخزينه (بطريقة أو بأخرى) على خادم Webhosting. يرجى ملاحظة أنني سوف أستخدم التطبيق بأكمله Jstree + JSON داخل WordPress
  • أعتقد أنني أستطيع استخدام هذا: الآن تحليل الجانب العميل JSON مع وورد
هل كانت مفيدة؟

المحلول

أعتقد أن أول ما يفهمه هو أن JSON هو مجرد طريقة واحدة لتمثيل المعلومات. يمكنك تخزين البيانات ولكن تريد. إذا كان لديك قاعدة بيانات علائقية، فمن المحتمل أن تتمكن من التوصل إلى طريقة معقولة لتحويل البيانات ذهابا وإيابا.

{ 
  "id": 321
  "name" : "Jim",
  "age" : 27,
  "email" : "jim@jimsoft.com"
}

قد تكون ممثلة في XML كما

<person>
   <id>321</id>
   <name>Jim</name>
   <age>27</age>
   <email>jim@jimsoft.com</email>
</person>

أو قد يتم تخزينها في الجدول الذي يشبه

_______________________________________
| id | name | age | email              |
========================================
|321 | Jim  | 27  |jim@jimsoft.com     |
----------------------------------------

لذلك إذا كنت تستطيع تخزين المعلومات ولكنك تريد. تحتاج فقط إلى طريقة لتسلسل / غير مالي البيانات في أي شكل تريده.

كل ما يقال، إذا كنت بحاجة إلى متجر لن يعمل JSON وتخزينه كملف، ربما ترغب في إلقاء نظرة عليه البوتشد أو mongodb.. وبعد إنها قواعد بيانات موجهة نحو المستندات التي تخزن بالفعل مستندات JSON. سوف يتيح لك تخزين مهما كانت مستندات JSON التي تريدها. يمكنك إنشاء طرق عرض واستعلام البيانات مباشرة دون الحاجة إلى تحويل البيانات إلى أشكال مختلفة.

نصائح أخرى

somethings مثل couchdb هي قاعدة بيانات تخزنها داخليا في ملف. معظم الناس لا يقومون / بتخزين / JSON على الإطلاق، فإنها تولدها وإرسالها، أو تحليلها ومعالجتها.

يعد JSON تنسيقا مثاليا لبيانات التسلسل، ولكن التحذير نفسه ينطبق عليه كأي شكل تسلسل آخر. هل تخزن XML في DB؟ عادة لا. الفرق يجري XML يجعل التضحيات لتشمل استخدام البشر، ويجري json تضحيات أن تكون مرتين بسهولة وسريعة.

JSON ليس حقا بديلا ل CSV. فكر في CSV كآلية إغراق مكونة محددة مكونة فضفاضة. لن يكون من المنطقي للغاية أن يكون لديك تصدير JSON في Excel.

الطقس الذي تخزنه في قاعدة بيانات أو في ملف لا يهم حقا. النقطة المهمة هي أنك تحتاج إلى أن تكون قادرا على جلبها كسلسلة (باستخدام HTTP أو بعض النصوص الجانبية).

على سبيل المثال، إذا قمت بحفظه كملف يسمى Data.json، فيمكنك استخدام AJAX لجلبه، ولكن إذا قمت بتخزينه في قاعدة بيانات، فأنت بحاجة إلى استخدام نوع من النص البرمجي (لا يزال بإمكانك استخدام Ajax على الرغم من ذلك).

إذا كان لديك أي خبرة مع XML، فما عليك سوى التفكير في JSON بنفس الشيء، فهذا مجرد تمثيل سلسلة من البيانات.

JSON هو تنسيق تبادل. يمكنك تخزينها في ملف أو DB إذا كنت تريد، تماما مثل أي تنسيق آخر، على الرغم من أن هذه فكرة جيدة تعتمد على ما تفعله بالضبط.

أنت تقول "حتى الآن ملف CSV المصدر الخاص بي هو 235 كيلو بايت في الحجم مع حوالي 700 خط (العقد / الأوراق)". هل تفكر في التحول من CSV إلى جون؟ (أنت لا تقول حقا.) تقول أيضا "الرقم سوف ينمو دعنا نقول كل أسبوع من 5-10". لا يتم تطبيق CSV أو JSON مثاليا بالنسبة للملفات الكبيرة التي ستتم تطبيق تغييرات تدريجية، باستثناء CSV، يمكنك إلحاق البيانات بكفاءة. إذا كان إلحاقا هو كل ما تفعله، فيمكنك الالتزام باستخدام CSV، ولكن إذا كنت بحاجة إلى إجراء تعديلات أخرى، فربما ستحلل البيانات في DB بحيث يمكن إجراء التحديثات بكفاءة.

في الواقع، فإن مقدار البيانات التي تتحدث عنها صغيرة جدا، ومع عدد قليل من التحديثات في الأسبوع، ربما لا داعي للقلق بشأن الكفاءة. افعل ما تشاء. :-)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top