如何从序列化数组中获取数据

How to get data from a serialized array?

本文关键字:获取 数据 数组 序列化      更新时间:2023-09-26

请帮助我将值打印到控制台和字段"昵称"的键

[
    {"fields": {"user_permissions": [], "nickname": "'u0418'u0432'u0430'u043d 'u0422'u0443'u0440'u0433'u0435'u043d'u0435'u0432 'u0451'u043f'u0442'u0430", "groups": [], "avatar": "", "gender": 1, "skype": "dfsdf", "other": "zzzz", "phone": "2014-0921"}, "model": "app_accounts.userprofile_deferred_avatar_date_joined_email_fic679ed35161c7ba80f007b4235db5148", "pk": 4}, 
    {"fields": {"user_permissions": [], "nickname": "'u0410'u043d'u0442'u043e'u043d 'u0427'u0435'u0445", "groups": [], "avatar": "", "gender": 2, "skype": "dfsdf", "other": "qqqqqq", "phone": "21"}, "model": "app_accounts.userprofile_deferred_avatar_date_joined_email_fic679ed35161c7ba80f007b4235db5148", "pk": 5}
] 

我希望结果是这样的:

0: zzzzzz
1: qqqqqq

我该怎么做?

问题中出现的数组不是序列化的。此外,username在给定数组内的任何对象中都不是字段。

如果您指的是每个fields对象中的字段other,则可以使用Array.map:检索该字段

var usernames = [
    {"fields": {"user_permissions": [], "nickname": "'u0418'u0432'u0430'u043d 'u0422'u0443'u0440'u0433'u0435'u043d'u0435'u0432 'u0451'u043f'u0442'u0430", "groups": [], "avatar": "", "gender": 1, "skype": "dfsdf", "other": "zzzz", "phone": "2014-0921"}, "model": "app_accounts.userprofile_deferred_avatar_date_joined_email_fic679ed35161c7ba80f007b4235db5148", "pk": 4}, 
    {"fields": {"user_permissions": [], "nickname": "'u0410'u043d'u0442'u043e'u043d 'u0427'u0435'u0445", "groups": [], "avatar": "", "gender": 2, "skype": "dfsdf", "other": "qqqqqq", "phone": "21"}, "model": "app_accounts.userprofile_deferred_avatar_date_joined_email_fic679ed35161c7ba80f007b4235db5148", "pk": 5}
].map(function (v) { return v.fields.other });
//=> usernames now: ["zzzz", "qqqqqq"]

另请参见。。。

如果您想打印索引和昵称,请考虑使用forEach:

var users = [
    {"fields": {"user_permissions": [], "nickname": "'u0418'u0432'u0430'u043d 'u0422'u0443'u0440'u0433'u0435'u043d'u0435'u0432 'u0451'u043f'u0442'u0430", "groups": [], "avatar": "", "gender": 1, "skype": "dfsdf", "other": "zzzz", "phone": "2014-0921"}, "model": "app_accounts.userprofile_deferred_avatar_date_joined_email_fic679ed35161c7ba80f007b4235db5148", "pk": 4}, 
    {"fields": {"user_permissions": [], "nickname": "'u0410'u043d'u0442'u043e'u043d 'u0427'u0435'u0445", "groups": [], "avatar": "", "gender": 2, "skype": "dfsdf", "other": "qqqqqq", "phone": "21"}, "model": "app_accounts.userprofile_deferred_avatar_date_joined_email_fic679ed35161c7ba80f007b4235db5148", "pk": 5}
] 
users.forEach(function(users, index) {console.log(index + ': ' + users.fields.nickname);});

将打印:

0: Иван Тургенев ёпта
1: Антон Чех 

你预料到了吗?