получить другие свойства объекта JSON с помощью одного

Я предлагаю вам использовать шаблон и сопоставление и отбросить результат в Set.

public void getWords()
{
    Set<String> words = new HashSet<String>();
    String pattern = "[a-zA-Z]+\\s";
    String match = "hello world how* are. you! world hello";
    Pattern compile = Pattern.compile(pattern);
    Matcher matcher = compile.matcher(match);
    while(matcher.find())
    {
        String group = matcher.group();
        boolean add = words.add(group);
        if(add)
        {
            System.out.println(group);
        }
    }
}

Выход:

hello 
world 

Измените свое определение того, что означает слово '- путем изменения шаблона.

0
задан AndSolomin34 13 July 2018 в 11:19
поделиться

2 ответа

Вы можете использовать Array.find() для обоих сценариев.

Получить полное имя и имена пользователей по id

var obj = [
  {
    "id": 12345,
    "fullname": "Kevin Johnson",
    "usernames": ["kevin123", "kevinj", "kjohnson"]
  },
  {
    "id": 123456,
    "fullname": "Mark Johnson",
    "usernames": ["Mark123", "Markj", "12Mark"]
  }
];

var id = 123456;
var resObj = obj.find(item => item.id === id);
if(resObj){
  console.log('Full name ', resObj.fullname);
  console.log('usernames ', resObj.usernames);
} else {
  console.log('No user found!');
}
  

Получить идентификатор и полное имя от имени пользователя

var obj = [
  {
    "id": 12345,
    "fullname": "Kevin Johnson",
    "usernames": ["kevin123", "kevinj", "kjohnson"]
  },
  {
    "id": 123456,
    "fullname": "Mark Johnson",
    "usernames": ["Mark123", "Markj", "12Mark"]
  }
];

var username = 'kevinj';
var resObj = obj.find(item => item.usernames.includes(username));
if(resObj){
  console.log('Full name ', resObj.fullname);
  console.log('id ', resObj.id);
} else {
  console.log('No user found!');
}

4
ответ дан Ankit Agarwal 17 August 2018 в 13:04
поделиться
  • 1
    Важно отметить, что Internet Explorer не имеет находок, поэтому для поддержки IE требуется политическая заправка. [Д0] developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… – JonMac1374 13 July 2018 в 11:30
  • 2
    @ JonMac1374 в IE всегда были исключения. Специально с ES6. – Ankit Agarwal 13 July 2018 в 11:31
  • 3
    согласился, и это хороший ответ кстати – JonMac1374 13 July 2018 в 11:55
  • 4
    это хороший ответ. – leonardofed 13 July 2018 в 12:40

Чтобы найти полное имя и имена пользователей по данному id:

var data = JSON.parse(your_json_string_here);
var person = data.find( x => x.id == **some_user_id**);
var fullName = person.fullname;
var usernames = person.usernames;

Чтобы найти имя и полное имя от имени пользователя:

var person = data.find( x => x.usernames.indexOf(**some_user_name**) > 0 );
3
ответ дан Farooq Hanif 17 August 2018 в 13:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: