কেউ কি কোনও ইউনিক্স (আপনার স্বাদ চয়ন করতে পারেন) JSON পার্সার প্রস্তাব করতে পারেন যা কোনও পাইপলাইনে জেএসওএন প্রতিক্রিয়া থেকে মানকে অন্তর্নিম্ন করতে ব্যবহার করা যেতে পারে?
npm install -g ramda-cli
কেউ কি কোনও ইউনিক্স (আপনার স্বাদ চয়ন করতে পারেন) JSON পার্সার প্রস্তাব করতে পারেন যা কোনও পাইপলাইনে জেএসওএন প্রতিক্রিয়া থেকে মানকে অন্তর্নিম্ন করতে ব্যবহার করা যেতে পারে?
npm install -g ramda-cli
উত্তর:
পার্ল কোরটিতে অন্তর্নির্মিত মডিউলগুলি ব্যবহার করে আপনি এই কমান্ড-লাইন পার্সারটি (যা আপনি পছন্দ করলে বাশ ওরফে রাখতে পারেন):
perl -MData::Dumper -MJSON::PP=from_json -ne'print Dumper(from_json($_))'
perl -e "use JSON; print to_json( decode_json(<>), { pretty => 1 } )"
আমি পছন্দ করি python -m json.tool
যা ডিফল্ট হিসাবে বেশিরভাগ * নিক্স অপারেটিং সিস্টেমে ডিফল্ট হিসাবে উপলব্ধ বলে মনে হয়।
$ echo '{"foo":1, "bar":2}' | python -m json.tool
{
"bar": 2,
"foo": 1
}
তবে এটি লক্ষ্য করা উচিত যে এটি সমস্ত কীগুলি বর্ণমালা অনুসারে বাছাই করবে, যা জসসন এমন কোনও ভাষা দ্বারা উত্পাদিত হয়েছিল যা আনর্ডার্ড হ্যাশম্যাপগুলি ব্যবহার করেছিল ...
json.tool
চমত্কার মুদ্রণ জসন কেবলমাত্র একটি ছোট হাত। আপনার যদি শেল স্ক্রিপ্টে জসন ডেটা বের করতে / jq
json.tool
প্রতিদিন দশবার ব্যবহার করি । আমি মনে করি আমি প্রশ্নের মধ্যে "অন্তর্মুখ" এর অর্থটি ভুলভাবে লিখেছি, আপনার নির্দেশের জন্য ধন্যবাদ।
json.tool
কেবলমাত্র দুটি কাজ করে: বৈধতা এবং সুন্দর-প্রিন্ট জেসন। এটি জসন-এর মতো মানগুলিকে অন্তর্ভুক্ত করে না jq
।
আপনি যদি কোনও পোর্টেবল সি সংকলিত সরঞ্জামের সন্ধান করছেন:
http://stedolan.github.com/jq/
ওয়েবসাইট থেকে:
jq মত হল sed JSON তথ্য জন্য - আপনি ফালি এবং ফিল্টার করার জন্য এটি ব্যবহার এবং মানচিত্র এবং একই স্বচ্ছন্দে সঙ্গে কাঠামোবদ্ধ ডেটা রুপান্তর করতে পারেন sed , awk , , grep এবং বন্ধুদের আপনি পাঠ্য সঙ্গে খেলা যাক।
আপনি খুব অল্প পরিশ্রমে চেষ্টা করতে চান এমন একটি জ্যাকেট আপনার কাছে থাকা ডেটা ফর্ম্যাটটিকে ম্যাঙ্গেল করতে পারে এবং এটি করার প্রোগ্রামটি আপনার প্রত্যাশার চেয়ে প্রায়শই খাটো এবং সহজ হয়।
টিউটোরিয়াল : http://stedolan.github.com/jq/tutorial/
ম্যানুয়াল : http://stedolan.github.com/jq/manual/
ডাউনলোড : http://stedolan.github.com/jq/download/
apt install jq
।
jq
।
আমি বিশেষ করে কমান্ড-লাইন জেএসএন হেরফের জন্য ডিজাইন করা একটি মডিউল তৈরি করেছি:
https://github.com/ddopson/underscore-cli
এটি আপনাকে শক্তিশালী জিনিসগুলি খুব সহজেই করতে দেয়:
cat earthporn.json | underscore select '.data .title'
# [ 'Fjaðrárgljúfur canyon, Iceland [OC] [683x1024]',
# 'New town, Edinburgh, Scotland [4320 x 3240]',
# 'Sunrise in Bryce Canyon, UT [1120x700] [OC]',
# ...
# 'Kariega Game Reserve, South Africa [3584x2688]',
# 'Valle de la Luna, Chile [OS] [1024x683]',
# 'Frosted trees after a snowstorm in Laax, Switzerland [OC] [1072x712]' ]
cat earthporn.json | underscore select '.data .title' | underscore count
# 25
underscore map --data '[1, 2, 3, 4]' 'value+1'
# prints: [ 2, 3, 4, 5 ]
underscore map --data '{"a": [1, 4], "b": [2, 8]}' '_.max(value)'
# [ 4, 8 ]
echo '{"foo":1, "bar":2}' | underscore map -q 'console.log("key = ", key)'
# key = foo
# key = bar
underscore pluck --data "[{name : 'moe', age : 40}, {name : 'larry', age : 50}, {name : 'curly', age : 60}]" name
# [ 'moe', 'larry', 'curly' ]
underscore keys --data '{name : "larry", age : 50}'
# [ 'name', 'age' ]
underscore reduce --data '[1, 2, 3, 4]' 'total+value'
# 10
এবং এটিতে একটি সেরা "স্মার্ট-হোয়াইটস্পেস" জেএসওএন ফর্ম্যাটর উপলব্ধ রয়েছে:
আপনার যদি কোনও বৈশিষ্ট্যের অনুরোধ থাকে তবে এই পোস্টে মন্তব্য করুন বা গিথুবে কোনও সমস্যা যুক্ত করুন। সম্প্রদায়ের সদস্যদের প্রয়োজনীয় বৈশিষ্ট্যগুলির অগ্রাধিকার দিতে আমি আনন্দিত হব।
wget
প্রতিটি ইউআরএল , একটি ইউআরএল অ্যারে সহ একটি জেএসএন ফাইল দেওয়া ।
underscore
নেস্টেড জেসসনকে নেস্টেড অবজেক্ট এবং অ্যারে পার্সিংয়ের জন্য ব্যবহার করতে পারি ?
রয়েছে তাদেরকে JSON কমান্ড লাইন প্রক্রিয়াকরণের টুলকিট যদি আপনি আপনার স্ট্যাকের মধ্যে Node.js এবং npm আছে এরকম।
এবং আপনার ইউনিক্স কমান্ড লাইনে জেএসএনকে ম্যাসেজ করার জন্য আর একটি "জসন" কমান্ড ।
এবং এখানে অন্যান্য বিকল্প রয়েছে:
সম্পর্কিত: ইউনিক্সের জন্য JSON ইনপুট পার্স করার জন্য কমান্ড লাইন সরঞ্জাম?
npm install json
।
json
প্যাকেজটি এখন সম্পূর্ণ আলাদা প্যাকেজ দ্বারা গ্রহণ করা হয়েছে বলে মনে হচ্ছে।
কেউ Jshon বা JSON.sh উল্লেখ করেছেন?
https://github.com/keenerd/jshon
এটিতে পাইপ জসন রয়েছে এবং এটি জসন অবজেক্টগুলিকে অনুসরণ করে এবং বর্তমান অবজেক্টের (জেএসএন অ্যারে হিসাবে) এবং তারপরে অবধি কোনও সাদা স্থান ছাড়াই প্রিন্ট করে।
http://kmkeen.com/jshon/
Jshon স্টিডিন থেকে জেসন পাঠ্য লোড করে, ক্রিয়া সম্পাদন করে, তারপর স্টাডাউটে শেষ ক্রিয়াটি প্রদর্শন করে এবং এটি সাধারণ পাঠ্য প্রক্রিয়াকরণ পাইপলাইনের অংশ হিসাবে তৈরি করা হয়েছিল।
brew install jshon
,cat *.json | jshon
বাশ / পাইথনের জন্য পাইথনের আশেপাশে এখানে একটি প্রাথমিক মোড়ক রয়েছে simplejson
:
json_parser() {
local jsonfile="my_json_file.json"
local tc="import simplejson,sys; myjsonstr=sys.stdin.read(); "`
`"myjson=simplejson.loads(myjsonstr);"
# Build python print command based on $@
local printcmd="print myjson"
for (( argn=1; argn<=$#; argn++ )); do
printcmd="$printcmd['${!argn}']"
done
local result=$(python -c "$tc $printcmd.keys()" <$jsonfile 2>/dev/null \
|| python -c "$tc $printcmd" <$jsonfile 2>/dev/null)
# For returning space-separated values
echo $result|sed -e "s/[]|[|,|']//g"
#echo $result
}
এটি সত্যিই কেবল নেস্টেড-অভিধানের স্টাইলের ডেটা পরিচালনা করে তবে এটি আমার যা প্রয়োজন তার জন্য কাজ করে এবং জসন দিয়ে চলার জন্য দরকারী। এটি সম্ভবত স্বাদ অনুসারে অভিযোজিত হতে পারে।
যাইহোক, যারা অন্য কোনও বাহ্যিক নির্ভরতার উত্স পেতে চান না তাদের জন্য কিছু উত্সাহিত। পাইথন বাদে অবশ্যই।
যাত্রা। সঞ্চালিত json_parser {field1} {field2}
হবে , স্থান বা পৃথক পৃথক পৃথক print myjson['{field1}']['{field2}']
কী বা এর সাথে সম্পর্কিত মানগুলি প্রদান করে {field2}
।
আমি সবেমাত্র জকিড তৈরি করেছি যা একটি ছোট কমান্ড-লাইনের জসন এক্সপ্লোরার যা আমি খুব সহজেই বড় বড় জসন বস্তুগুলি অন্বেষণ করতে তৈরি করেছিলাম। অবজেক্টগুলি "ট্রান্সভার্সালি" অন্বেষণ করা যেতে পারে এবং কনসোল ওভারফ্লো এড়াতে একটি "প্রাকদর্শন" বিকল্প রয়েছে।
$ echo '{"john":{"size":20, "eyes":"green"}, "bob":{"size":30, "eyes":"brown"}}' > test3.json
$ jkid . eyes test3.json
object[.]["eyes"]
{
"bob": "brown",
"john": "green"
}
jkid
ম্যাক ইনস্টল করতে পারি ?