Строка для возражения в JS

причина выше, попробуйте это решить:

appBarLayout.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener() {
        @Override
        public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) {
            //some other code here
            ViewCompat.setElevation(appBarLayout, The Elevation In Px);
        }
    });
173
задан rahul 6 July 2009 в 10:58
поделиться

3 ответа

Я знаю, что это - старое сообщение, но не видело корректный ответ для вопроса.

var jsonStrig = '{';
      var items = string.split(',');
      for (var i = 0; i < items.length; i++) {
          var current = items[i].split(':');
          jsonStrig += '"' + current[0] + '":"' + current[1] + '",';
      }
      jsonStrig = jsonStrig.substr(0, jsonStrig.length - 1);
      jsonStrig += '}';
var obj = JSON.parse(jsonStrig);
console.log(obj.firstName, obj.lastName);

Теперь можно использовать obj.firstName и obj.lastName для получения значений, как Вы могли обычно делать с объектом.

0
ответ дан 23 November 2019 в 20:36
поделиться

Ваша строка выглядит как строка JSON без фигурных скобок.

Это должно сработать:

obj = eval('({' + str + '})');
67
ответ дан 23 November 2019 в 20:36
поделиться

Если я правильно понимаю:

var properties = string.split(', ');
var obj = {};
properties.forEach(function(property) {
    var tup = property.split(':');
    obj[tup[0]] = tup[1];
});

Я предполагаю, что имя свойства находится слева от двоеточия и строкового значения, которое он занимает справа.

Обратите внимание, что Array.forEach - это JavaScript 1.6 - вы можете использовать набор инструментов для максимальной совместимости.

49
ответ дан 23 November 2019 в 20:36
поделиться
Другие вопросы по тегам:

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