অবজেক্টিভ-সি এর জন্য জেএসএন পার্সারের তুলনা (জেএসএন ফ্রেমওয়ার্ক, ওয়াইএজেএল, টাচজেসন ইত্যাদি)


142

যতদূর আমি জানি, অবজেক্টিভ-সি , জেএসএন ফ্রেমওয়ার্ক , ওয়াইএজেএল , এবং টাচ জেএসওনের জন্য তিনটি জেএসএন পার্সার রয়েছে । তারপরে, এই তিনটির নিজস্ব বৈশিষ্ট্য থাকবে।

উদাহরণস্বরূপ:
YAJL একটি SAX স্টাইল পার্সার হিসাবে ব্যবহার করা যেতে পারে।
জেএসএন ফ্রেমওয়ার্কের তুলনামূলকভাবে দীর্ঘ ইতিহাস রয়েছে এবং এটি ব্যাপকভাবে ব্যবহৃত হয়।
টাচ জেএসএন এনএসটিস্ট্রিংয়ের পরিবর্তে এনএসডিটা পার্স করে।

তদতিরিক্ত , আমি যতদূর পরীক্ষা করেছি, পারফরম্যান্স তুলনার ফলাফলটি নিম্নরূপ:
[দ্রুত] YAJL> JSON ফ্রেমওয়ার্ক> টাচ জেএসএন [ধীর]।

আপনি যদি এই জেএসওন পার্সারগুলির পক্ষে কাজকর্ম সম্পর্কে জানেন তবে আপনি কি আমাকে বলতে পারবেন?
সবশেষে, আপনি যদি অন্য কোনও জেএসএন পার্সার জানেন তবে দয়া করে আমাকে বলুন।


1
আমার ভোট আপ! এটা একটা ভাল প্রশ্ন. কিছু বিশেষজ্ঞরা এর একটি উত্তর দিতে পছন্দ করবে। আমি JSON ফ্রেমওয়ার্কটি সমস্ত পাশাপাশি ব্যবহার করছি তবে হ্যাঁ, অন্যান্য পার্সারদের পক্ষে এবং কৌশলগুলি জানতে আগ্রহী।
চিন্তন প্যাটেল

ধন্যবাদ চিন্তান আমি জেএসএন ফ্রেমওয়ার্কও ব্যবহার করছি এবং কোনও অভিযোগ নেই। তবে, আমি আশা করি যে কেউ আমাদের একটি ভাল উত্তর দিতে পারে।
tomute

5
ওবজে-সি এর জন্য স্ট্রিমিং জেএসএন পার্সার সম্পর্কে কী? আমি এমন একটি পার্সার রাখতে চাই যা কোনও নতুন অবজেক্টটি পার্স করার সময় এটির প্রতিনিধিকে বলবে, যেমন আপনি যখন কোনও সার্ভার থেকে একটি বড় জেএসএন ডাউনলোড করছেন, আপনি যে অংশটি পেয়েছেন তা প্রক্রিয়া শুরু করতে পারেন। এটি মেমরির পদচিহ্নগুলিও কমিয়ে দিতে পারে।
মার্টিজান

YAJL হ'ল আপনি যা চান তা হ'ল। rel.me/2009/06/15/yajl-json-parser-objective-c-bindings
tomute

1
একটি বিস্তৃত পর্যালোচনা
ওহহো

উত্তর:


59

আপনি যদি গতির সন্ধান করছেন তবে জেএসনকিটটি একবার দেখুন । এটি (সাধারণত) ইতিমধ্যে উল্লিখিত জেএসওএন লাইব্রেরিগুলির চেয়ে অনেক দ্রুত, প্রায়শই প্রস্থের ক্রম দ্রুত। এবং এটি "সম্প্রতি ইনস্ট্যান্টিয়েটেড অবজেক্ট ক্যাশে" এর কারণে এটি (আবার, সাধারণত) কম স্মৃতিও ব্যবহার করবে।


2
আমি এটি নিশ্চিত করতে পারি :) আমার পরীক্ষাগুলিতে, জেএসএনকিট ওয়াইএএলএল থেকে প্রায় দ্বিগুণ এবং জেএসএন ফ্রেমওয়ার্কের চেয়ে 50% দ্রুত ছিল, তবে দৃশ্যত আমি পরীক্ষার জন্য যে ডেটা ব্যবহার করেছি তা জেএসনকিটের জন্য এক ধরণের খারাপ পরিস্থিতি ছিল।
কুবা সুদার

2
দ্বিতীয় যে. আপনার রিলিজ বিল্ডগুলিতে NS_BLOCK_ASSERTIONS পতাকা সেট করতে মনে রাখবেন। এটি আরও গতি উন্নত করে।
DenTheMan

1
AFAICT JSONKit স্ট্রিম-ভিত্তিক পার্সিং সমর্থন করে না, সুতরাং যদি এটি কোনও সমস্যা হয় তবে আপনি জসন-ফ্রেমওয়ার্ক বা ওয়াইএএজএল নিয়ে যেতে চাইতে পারেন।
ফ্র্যাঙ্ক স্মিট

পারফরম্যান্সের জন্য জেএসনকিট। রেফারেস : কোকোনেটিক্স ডট কমের একটি বিস্তৃত পর্যালোচনা
ওহহো

2
এই মুহুর্তে, দেখে মনে হচ্ছে জেএসনকিটকে লেখক পরিত্যাগ করেছেন। এক্সকোডের সর্বশেষতম সংস্করণে কিছু সমস্যা রয়েছে, এটির সমাধানের জন্য অসংখ্য টানার অনুরোধ, এবং তাদের কোনওটিই গৃহীত হয়নি।
লুক অস্পষ্ট

12

আমি যে তুলনা করেছি তা বিবেচনা করে , দ্রুততম গ্রন্থাগারটি হল JSONKit, তারপরে NSJSONSerialization (এখন পাবলিক এপিআই) এবং NextiveJSON। এসবিজেসন এবং টাচজেসন পূর্ববর্তী 3 লাইব্রেরির তুলনায় কিছুটা ধীর।

আইওএস 5.0.1 এর সাথে আইফোন 4 এস ব্যবহার করে এই তুলনা করা হয়েছে।


1
এনএসজেএসএসনারাইজেশন সরকারী API এর অংশ বলে উল্লেখ করার জন্য আপ-ভোট দিন! আমি এটি দিয়ে থাকব, কারণ রক্ষণাবেক্ষণে কোনও সমস্যা হবে না।
জোহানেস

Ditto। কমপক্ষে আইওএস 5.0 এবং তারপরে লক্ষ্যমাত্রার জন্য - এনএসজেএসএসনারাইজেশন , আমার জন্য বোধগম্য উপায় way
কুইন্টিন উইলিসন

উত্তরের লিঙ্কটি নষ্ট হয়ে গেছে। দয়া করে এটি ঠিক করুন
ওসির

5

এই পার্সার এছাড়াও আছে :

আমি মনে করি না কীভাবে আমি এইটিকে হোঁচট খেয়েছি, তবে এটি হালকা ও সাধারণ দেখায়, তাই আমি ভেবেছিলাম যে এটি আমার প্রয়োজনের সাথে খাপ খায়। এনএসডাটা থেকে সূচনা যোগ করার জন্য আমি এটিকে কাঁটাযুক্ত করেছিলাম। আমার যেমন ছোট ছোট প্রতিক্রিয়া পার্স করার দরকার ছিল, আমি পারফরম্যান্সের বিষয়ে চিন্তা করি নি। এটি কীভাবে পারফর্ম করে তা জানা আকর্ষণীয় হবে।


এটি সর্বাধিক হালকা এবং সাধারণ জেএসএন পার্সার আমি ব্যবহার করেছি, এটি উচ্চ প্রস্তাবিত।
কেলভিন

বাহ, আমার দিন তৈরি। এত সহজ এবং মার্জিত পার্সার!
থানডাসুরু


2

পোস্টটি । <30 অক্ষর>


2
আরও ভাল, এখানে আপডেট সংস্করণ দেখুন psionides.jogger.pl/2010/12/12/… (স্পোলার: জেএসনকিট জিতেছে)।
কুবা সুদার

2
যদিও এটি তাত্ত্বিকভাবে প্রশ্নের উত্তর দিতে পারে, তবে এখানে উত্তরের প্রয়োজনীয় অংশগুলি অন্তর্ভুক্ত করা এবং রেফারেন্সের জন্য লিঙ্ক সরবরাহ করা ভাল।
বিলটি


0

কেন তিনি পার্সারদের বিভিন্ন ধরণের পার্সারের তুলনা করেন সেখানে আকসমার মানদণ্ডগুলিতে নজর নেই। যদি কোনও পার্সার অনুপস্থিত থাকে তবে আপনি তার পরীক্ষাগুলিতে এটি যুক্ত করতে পারেন, কারণ তার কোডটি মুক্ত উত্স।

iPhoneWebServicesClient

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.