Skip to content

ThamerBootcamp/JsonParser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

وصف المشروع

المدخلات :

البرنامج يستقبل مدخل من نوع String ويقوم بتحليله باستخدام tokenizer ليتحقق من صحة توافقه مع صيغة JSON.

المخرجات :

البرنامج يعرض البيانات الناجحه بصيغة JSON وكذلك يتيح استدعاء قيمة معينة باستخدام index . في حال حدوث خطا في صيغة String يعرض رسالة الخطأ وسطر حدوثه.

التصميم

Data flow

Data flow


Input.cs (Starter Code: with some slight changes) : 

* Contains functions to deal with a String value 



Tokenizer.cs : 

* It uses the functions inside of Input.cs to generate tokens based on 
      a custom handlers written and tested by the team: 
   - WhiteSpaceTokenizer 
   - NewLineTokenizer 
   - JSymbolsTokenizer ({}[],)
   - KeywordsTokenizer (false,true,null)
   - StringTokenizer 
   - NumberTokenizer

All handlers written to match the JSON parser convention 


JSON Rules

Parser Class Diagram

Class Diagram

JsonParser.cs (Main Design):
 
* It uses the generated list of tokens from the "Tokenizer" by the reference "ref".

* Classes: 
    - JsonParser : 
       ~ Controls the flow and decide which JsonValue should the token be via using the method (parse)
    - KeyValue : Helper class
          [[Inheritance]]
    - JSONValue (abstract & parent): 
       ~ Children: 
          - StringJSONValue 
          - NumberJSONValue 
          - BooleanJSONValue
          - NullJSONValue
          - ObjectJSONValue
          - ArrayJSONValue 



Program.cs (main)

* To run and test. 

تصميم آخر

تصميم آخر يعتمد على الوصول للمتغيرات :

https://github.com/anas-alhmoud/JSON-Parser

  • سبب وجود أكثر من تصميم ناتج من نقاش المجموعة وفهمهم للمشكلة من جهة أخرى.

أعضاء المجموعة

1- ثامر مشني

2- عبدالمجيد الميموني

3- أنس الحمود

4- منصور آل دندور

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages