English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

استخدام ملفات JSON في R

JSON: JavaScript Object Nnotation(مثال على جافا سكريبت).

JSON هو لغة لتحفظ وتتبادل بيانات النص.

JSON يشبه XML،لكنه أصغر وأسرع وأسهل في التحليل.

إذا لم تكن تعرف JSON بعد،يمكنك الرجوع أولاً إلى:دليل JSON

إذا كنت بحاجة إلى تثبيت مكتبة توسيع R لقراءة وكتابة ملفات JSON،يمكنك إدخال الأوامر التالية في وحدة التحكم في R:

install.packages("rjson", repos = "https://mirrors.ustc.edu.cn/CRAN/")

مراجعة ما إذا تم التثبيت بنجاح:

> any(grepl("rjson",installed.packages()))
[1] TRUE

إنشاء ملف sites.json،ملف JSON في نفس الدليل مع سكربت الاختبار،النص التالي هو:

{ 
   "id":["1","2","3"],
   "name":["Google","w3codebox","Taobao"],
   "url":["www.google.com","ar.oldtoolbag.com","www.taobao.com"],
   "likes":[111,222,333]
}

يمكننا الآن استخدام مكتبة rjson لتحميل بيانات ملف JSON.

مراجعة البيانات،استخدام [] في السطر المحدد،استخدام [[ ]] لتحديد السطر والعمود المحددين:

# تحميل مكتبة rjson
library("rjson")
# الحصول على بيانات json
result <- fromJSON(file = "sites.json")
# إخراج النتيجة
print(result)
print("===============")
# إخراج النتيجة للعمود الأول
print(result[1])
print("===============")
# إخراج النتيجة للصف الثاني والعمود الثاني
print(result[[2]][[2]])

النتيجة التي يتم إنتاجها عند تنفيذ الكود أعلاه هي:

$id
[1] "1" "2" "3"
$name
[1] "Google" "w3codebox" "Taobao"
$url
[1] "www.google.com" "ar.oldtoolbag.com" "www.taobao.com"
$likes
[1] 111 222 333
[1] "==============="
$id
[1] "1" "2" "3"
[1] "==============="
[1] "w3codebox"

يمكننا أيضًا استخدام as.data.frame() يمكن للوظيفة تحويل بيانات ملف json إلى نوع جداول بيانات، مما يجعل من السهل علىنا معالجة البيانات:

# تحميل مكتبة rjson
library("rjson")
# الحصول على بيانات json
result <- fromJSON(file = "sites.json")
# تحويل إلى جداول بيانات
json_data_frame <- as.data.frame(result)
print(json_data_frame)

النتيجة التي يتم إنتاجها عند تنفيذ الكود أعلاه هي:

  id   name            url likes
1  1 Google www.google.com   111
2  2 w3codebox ar.oldtoolbag.com   222
3  3 Taobao www.taobao.com   333