JSON Toolkit

JSONPath নাকি JSON Pointer

সংক্ষেপে: JSON Pointer হলো কি হিসেবে রাখা যায় এমন অনন্য ঠিকানা; JSONPath একটি কোয়েরি ভাষা। ভুলটি ব্যবহারে কনফিগ হালনাগাদ ভাঙে বা ভাঙা JSONPath নতুন করে বানাতে হয়।

মধ্যবর্তী~4 মিনিট পড়াপ্রকাশ 2026-10-30আপডেট 2026-10-30
JSONPath কোথায় শেষ আর JSON Pointer কোথায় শুরু

মূল কথা: একটি নোডের ঠিকানা পড়তে, লিখতে বা সংরক্ষণ করতে হলে JSON Pointer (যেমন /server/cors/0), আর শর্ত দিয়ে নোডের সেট বাছাইতে JSONPath; সংরক্ষিত যেকোনো পাথ Pointer হবে, কখনো এক্সপ্রেশন নয়।

জিজ্ঞাসা করুন আপনার এক নোড দরকার নাকি সেট।

এক টেবিলে

JSON Pointer JSONPath
প্রকৃতি অনন্য ঠিকানা কোয়েরি এক্সপ্রেশন
সিনট্যাক্স /a/b/0 $.a.b[0], $..price
ফল ঠিক একটি নোড, বা কিছুই নয় শূন্য বা তার বেশি নোড
কি হিসেবে সংরক্ষণযোগ্য হ্যাঁ, স্ট্রিংটাই পরিচয় না, অনেকগুলো মিলতে পারে
স্ট্যান্ডার্ড RFC 6901 RFC 9535 (২০২৪-এ চূড়ান্ত)

JSON Pointer

/server/host        -> "127.0.0.1"
/server/cors/0      -> "https://a.com"
/                   -> the whole document

/ বা ~ ধারণকারী কি এস্কেপ হয়: ~-এর জন্য ~0, /-এর জন্য ~1। মূল্য নির্ধারকতা: ঠিকানা একটি স্ট্রিং, তাই ডেটাবেস কলাম, লগ লাইন বা কনফিগ কি-তে যায়। JSON Patch (RFC 6902) প্রতিটি অপারেশন এভাবেই সম্বোধন করে।

JSONPath

$.store.book[*].author
$..price
$.store.book[?(@.price < 10)]

SQL WHERE-এর কাছাকাছি। একই এক্সপ্রেশন ডেটার উপর নির্ভর করে শূন্য, এক বা একশো নোড ফেরত দেয়।

দুই ব্যর্থতার ধরন

JSONPath-কে কনফিগ কি হিসেবে ব্যবহার। $.server.port সংরক্ষণ করুন আর একদিন কাঠামো অ্যারে হয়ে যায়; এক্সপ্রেশন তখন কয়েকটি port মেলে আর আপডেট লজিকের বাছার উপায় থাকে না।

বাছাইয়ে Pointer ব্যবহার। "দাম ১০-এর নিচে এমন প্রতিটি নোড খোঁজো" পয়েন্টার দিয়ে অসম্ভব। নিজে লুপ লিখলে আংশিক JSONPath বানাতে হয়।

বাস্তব সিস্টেম কীভাবে কাজ ভাগ করে

  • কনফিগ পড়া, ফিল্ড হালনাগাদ, প্যাচ: Pointer, স্থির ও অডিটযোগ্য
  • ডেটা অন্বেষণ, বাল্ক এক্সট্রাকশন, রিপোর্টিং: JSONPath, প্রকাশক্ষমতা প্রথমে
  • সংরক্ষিত যেকোনো কিছু: কেবল Pointer, কখনো এক্সপ্রেশন নয়

সাধারণ প্রশ্ন

JSON Pointer ও JSONPath-এর মধ্যে কীভাবে বাছাই করব?

আপনার এক নোড দরকার নাকি সেট — জিজ্ঞাসা করুন। একটি নির্দিষ্ট নোড পড়তে/লিখতে ও সেই ঠিকানা কি হিসেবে রাখতে JSON Pointer ব্যবহার করুন, কারণ পয়েন্টার অনন্য, যেমন /server/cors/0। শর্ত দিয়ে নোড বাছাইতে JSONPath, যেমন $.store.book[?(@.price < 10)]।

JSONPath এক্সপ্রেশন কনফিগ কি হিসেবে ব্যবহার করা যায় না কেন?

কারণ এক্সপ্রেশন কয়েকটি নোড মিলতে পারে। $.server.port সংরক্ষণ করুন আর একদিন কাঠামো অ্যারে হয়ে যায়; এক্সপ্রেশন তখন কয়েকটি port মেলে আর আপডেট লজিক ঠিক করতে পারে না কোনটি বদলাবে। সংরক্ষিত বা অডিটযোগ্য যেকোনো কিছুতে Pointer দরকার।

JSON Pointer কি শর্ত দিয়ে নোড ফিল্টার করতে পারে?

না। পয়েন্টার কেবল নির্দিষ্ট পাথ হাঁটে আর কোন নোড আছে জানার উপায় নেই, তাই দাম ১০-এর নিচে এমন প্রতিটি নোড বাছাই অসম্ভব। সেই লুপ নিজে লিখলে আংশিক JSONPath বানাতে হয়।

আরও পড়ুন

সংশ্লিষ্ট টুল

সম্পর্কিত নিবন্ধ

JSONPath কোয়েরি ভাষা বাস্তবে

২০২৪ সালে JSONPath অবশেষে আনুষ্ঠানিক স্ট্যান্ডার্ড পেল, RFC 9535। এই নিবন্ধে সিনট্যাক্স, ফিল্টার সেমান্টিক্স, ফাংশন ও বাস্তবায়নগুলোর ঐতিহাসিক পার্থক্য ব্যাখ্যা করা হয়েছে।

মধ্যবর্তী~12 মিনিট পড়াআপডেট 2026-10-30

JSON Pointer, Patch ও Merge Patch

তিনটি ছোট স্পেসিফিকেশন মিলে একটি পরিবর্তন প্রোটোকল: Pointer লোকেট করে, Patch সুনির্দিষ্টভাবে সম্পাদনা করে, Merge Patch আংশিক মার্জ করে। ভুল বাছাই অ্যারে ও সমবর্তীতায় ক্ষতি করে।

মধ্যবর্তী~12 মিনিট পড়াআপডেট 2026-10-30

টুল ব্যবহার FAQ: ডেটা, ফাইল ও এক্সপোর্ট

ডেটা আপলোড হয় কি না, কত বড় ফাইল চলে, কিছু লোকালি সংরক্ষিত হয় কি না, অক্ষর কেন এস্কেপ হয়: একটি অনলাইন JSON টুলের প্রকৃত সীমানা ব্যাখ্যা করা দশটি প্রশ্ন।

শিক্ষানবিশ~10 মিনিট পড়াআপডেট 2026-10-30