مسج - تحليل البيانات JSON - تواجه مشكلة مع اسم المتغير
-
22-07-2019 - |
سؤال
وقائي الاول الخوض في العمل مع البيانات JSON. لقد قليلا من الخبرة باستخدام مسج بالرغم من ذلك.
وأنا نشر في هذا URL (API نعرفكم): jyoseph.com/api/read/json
ما أحاول القيام به هو إخراج سلمان أن يحصل عاد. ما لدي حتى الآن:
$(document).ready(function(){
$.getJSON("http://jyoseph.com/api/read/json?callback=?",
function(data) {
//console.log(data);
console.log(data.posts);
$.each(data.posts, function(i,posts){
var id = this.id;
var type = this.type;
var date = this.date;
var url = this.url;
var photo500 = this.photo-url-500;
$('ul').append('<li> ' +id+ ' - ' +type+ ' - ' +date+ ' - ' +url+ ' - ' +photo500+ ' - ' + ' </li>');
});
});
});
وانظر منصبي jsbin للبرنامج النصي بأكمله: http://jsbin.com/utaju/edit
وبعض المفاتيح من نعرفكم ديك "-" الواصلات في نفوسهم، والتي يبدو أن يسبب مشكلة. كما ترون "الصور رابط-500" أو لآخر "الصور عنوان" يسبب النصي لكسر، فإنه إخراج نان.
هل هناك مشكلة مع وجود الواصلات في أسماء الرئيسية؟ أو أنا ذاهب عن هذا كله غير صحيح؟
المحلول
وإذا كان هناك شرطات في أسماء ستحتاج إلى الوصول إليها بشكل مختلف. تغيير var photo500 = this.photo-url-500;
لقراءة var photo500 = this["photo-url-500"];
.
نصائح أخرى
تجدر الإشارة أنه من الأفضل عدم إلحاق داخل كل التكرار. أفضل لإلحاق إلى سلسلة أو دفع إلى مجموعة ثم إلحاق مرة واحدة بعد انتهاء مكرر. إلحاق إلى دوم غير مكلفة.
واستخدم قوس تدوين للوصول إلى أعضاء:
var photo500 = this['photo-url-500'];