আর সহ পার্সে জেএসওএন


90

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

উত্তর:


90

ওমেগাহাট থেকে আরজেএসনিও হ'ল আরেকটি প্যাকেজ যা জেএসওএন ফর্ম্যাটে ডেটা পড়ার এবং লেখার সুবিধাদি সরবরাহ করে।

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

আপডেট (নতুন প্যাকেজ 2013-12-03):

jsonlite : এই প্যাকেজটি প্যাকেজের একটি কাঁটাচামচ RJSONIO। এটি পার্সার তৈরি করে RJSONIOতবে আর বস্তু এবং জেএসএন স্ট্রিংয়ের মধ্যে একটি পৃথক ম্যাপিং প্রয়োগ করে। এই প্যাকেজের সি কোডটি বেশিরভাগ RJSONIOপ্যাকেজ থেকেই, আর কোডটি স্ক্র্যাচ থেকে আবারও লেখা হয়েছিল। উপরন্তু জন্য ড্রপ-ইন করার জন্য প্রতিস্থাপন fromJSONএবং toJSON, প্যাকেজ ধারাবাহিকভাবে বস্তু ফাংশন আছে। তদুপরি, প্যাকেজটিতে সিস্টেম এবং অ্যাপ্লিকেশনগুলিতে গতিশীল ডেটা ব্যবহারের জন্য সমস্ত প্রান্তের কেস এনকোড করা হয়েছে এবং ধারাবাহিকভাবে ডিকোড করা হয়েছে তা নিশ্চিত করার জন্য অনেকগুলি ইউনিট পরীক্ষা রয়েছে।


4
আমি আরজেসন, আরজেএসনিও এবং জসনলাইটের এই তুলনাটি সহায়ক বলে খুঁজে পেয়েছি
এরিক

4
উপরের তুলনা লিঙ্কটি মারা গেছে। কি এই সঠিক লিঙ্ক সরাবেন? (পার্থক্যটি https)
কাঠভি

58

Jsonlite প্যাকেজ সংক্রান্ত তথ্য ফ্রেম মধ্যে JSON রূপান্তর করতে ব্যবহার এবং চেষ্টা করা সহজ।

উদাহরণ:

library(jsonlite)

# url with some information about project in Andalussia
url <- 'http://www.juntadeandalucia.es/export/drupaljda/ayudas.json'

# read url and convert to data.frame
document <- fromJSON(txt=url)

4
আমার যা প্রয়োজন তার জন্য এটি ব্যবহার করা অবিশ্বাস্যরকম সহজ ছিল। আপনাকে অনেক ধন্যবাদ
অজানা কোডার

দস্তাবেজ <- থেকে JSON (ফাইল = url); # তবে অনুরোধটি শেষ হয়েছে
EngrStudent

4
এটা খুবই পছন্দ করি. Rjson দ্বারা নির্মিত গোলমাল তুলনায় অনেক ভাল বলে মনে হচ্ছে।
র্যান্ডমোস্ট্যান্সঅফলাইভিংথিং

4
মূল জেসন ফর্ম্যাটটি ইতিমধ্যে চ্যাপ্টা না হলে jsonliteস্যুপ খাওয়ার জন্য কাঁটাচামচ হিসাবে কম-বেশি কার্যকর।
জেনেটে

19

নিখোঁজ উদাহরণ এখানে

library(rjson)
url <- 'http://someurl/data.json'
document <- fromJSON(file=url, method='C')

4
এটি আমার পক্ষে কাজ করেছে তবে আপনি ফাইলের পরিবর্তনশীল নামের মতো একটি স্ট্রিং দেখতে চান না।
mrjrdnthms

4

আরজেএসনিও, আরজেসন এবং জসনলাইটের জেএসএন () থেকে ফাংশনটি জটিল নেস্টেড জেসন অবজেক্টের জন্য একটি সাধারণ 2D ডেটা ফ্রেম ফেরায় না।

এটি কাটিয়ে উঠতে আপনি টিডিজসন ব্যবহার করতে পারেন । এটি একটি জসন নেয় এবং সর্বদা ডেটা ফ্রেম দেয়। এটি বর্তমানে CRAN এ উপলব্ধ নয়, আপনি এটি এখানে পেতে পারেন: https://github.com/sailthru/tidyjson

আপডেট: tidyjson এখন ক্র্যানে উপলভ্য, আপনি সরাসরি এটি ব্যবহার করে ইনস্টল করতে পারেনinstall.packages("tidyjson")


2

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


1

কনসোলে আরজেএসনিও ব্যবহার করে কোডের নীচে চেষ্টা করুন

library(RJSONIO)
library(RCurl)


json_file = getURL("https://raw.githubusercontent.com/isrini/SI_IS607/master/books.json")

json_file2 = RJSONIO::fromJSON(json_file)

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