পাইথন - সাদা স্থান ছাড়া জেসন j


154

আমি ঠিক বুঝতে পেরেছি যে json.dumps()JSON অবজেক্টে স্পেস যুক্ত করে

যেমন

{'duration': '02:55', 'name': 'flower', 'chg': 0}

জেএসএনকে আরও কমপ্যাক্ট তৈরি করতে এবং এইচটিটিপি-র মাধ্যমে প্রেরিত বাইটগুলি সংরক্ষণ করার জন্য কীভাবে স্পেসগুলি সরিয়ে ফেলতে পারবেন?

যেমন:

{'duration':'02:55','name':'flower','chg':0}

3
পাইথন ৩.৪ এটি সমাধান করে: Changed in version 3.4: Use (',', ': ') as default if indent is not None. docs.python.org/3/library/json.html#json.dump
গ্রিসাইটিস

উত্তর:


248
json.dumps(separators=(',', ':'))

2
জসন বৈধতা সহ নথিপত্রের জন্য খুব দরকারী।
andilabs

9
এবং এটিও নোট করুন যে indent=0নিউলাইনগুলি উত্পন্ন করে, যখন indent=None(ডিফল্ট) ২.7-এ নেই। সমস্ত স্পষ্টভাবে এখানে বলা হয়েছে: docs.python.org/3/library/json.html#json.dump
Ciro Santilli 冠状 冠状 病 六四 事件 法轮功

ujsonহোয়াইটস্পেস ছাড়াই ডাম্পের ডিফল্ট কিন্তু দুঃখের বিষয় এটি separatorsকীওয়ার্ডকে সমর্থন করে না তাই ইচ্ছা করলে স্থান আর যুক্ত করতে পারে না। এটি অনেক দ্রুত যদিও বনাম অন্তর্নির্মিত json!
র‌্যাডটেক

আমি এখানে জ্যাঙ্গো তুলনা করার চেষ্টা আগত request.bodyকরতে request.dataএই দরকারী হতে পারে, যাতে লোকেরাbytes(json.dumps(request.data, separators=(',', ':')), 'utf-8') == request.body
ম্যাট

49

কিছু ক্ষেত্রে আপনি কেবল পেছনের সাদা স্থান থেকে মুক্তি পেতে চাইতে পারেন । তারপরে আপনি ব্যবহার করতে পারেন

json.dumps(separators=(',', ': '))

পরে একটা জায়গা আছে :কিন্তু পরে নেই ,

এটি আপনার জেএসওএন ফাইলগুলি পৃথক করার জন্য কার্যকর (যেমন সংস্করণ নিয়ন্ত্রণে git diff), যেখানে কিছু সম্পাদক পূর্ববর্তী হোয়াইটস্পেস থেকে মুক্তি পাবেন তবে পাইথন জসন.ডম্প এটিকে আবার যুক্ত করবে।

দ্রষ্টব্য: এটি শীর্ষে প্রশ্নের সঠিক উত্তর দেয় না, তবে আমি এখানে বিশেষভাবে উত্তরটির সন্ধান করতে এসেছি। আমি মনে করি না এটি এটির নিজস্ব QA এর প্রাপ্য, তাই আমি এটি এখানে যুক্ত করছি।

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