Вы хотите отсортировать его в Javascript, не так ли? Вы хотите использовать функцию sort()
. В этом случае вам нужно написать функцию компаратора и передать ее в sort()
, что-то вроде этого:
function comparator(a, b) {
return parseInt(a["price"], 10) - parseInt(b["price"], 10);
}
var json = { "homes": [ /* your previous data */ ] };
console.log(json["homes"].sort(comparator));
. Ваш компаратор принимает одну из каждого из вложенных хэшей внутри массива и решает, какой из них выше, проверяя поле «цена».
Из Javadoc для @Inherited:
Указывает, что тип аннотации автоматически унаследован. Если в объявлении типа аннотации присутствует унаследованная мета-аннотация, и пользователь запрашивает тип аннотации в объявлении класса, а объявление класса не имеет аннотации для этого типа, тогда суперкласс класса будет автоматически запрашиваться для типа аннотации. Этот процесс будет повторяться до тех пор, пока не будет найдена аннотация для этого типа или не будет достигнута вершина иерархии классов (объект). Если у суперкласса нет аннотации для этого типа, тогда запрос будет указывать, что этот класс не имеет такой аннотации. Обратите внимание, что этот тип мета-аннотации не действует, если аннотированный тип используется для аннотации чего-либо, кроме класса. Обратите внимание также, что эта мета-аннотация позволяет только унаследовать аннотации от суперклассов; аннотации на реализованных интерфейсах не влияют.
blockquote>С другой стороны, валидаторы JSR 305 выполняют своего рода поиск наследования. Если у вас есть иерархия классов:
//Person.java @Nonnull public Integer getAge() {...} //Student.java (inherits from Person) @Min(5) public Integer getAge() {...}
Тогда эффективными валидациями на
Student.getAge()
являются@Nonnull @Min(5)
.@Nonnull
не имеет мета-аннотации@Inherited
.
The field value is ambiguous.
, как и с двумя интерфейсами, объявляющими одну и ту же константу с разными значениями. Я знаю, что это поле not i>, но значения аннотации все решают во время компиляции, не так ли? Функция, которую мы здесь пропустили, во многих случаях была бы очень полезной. К сожалению, о возрождении старого поста, кстати :). – Petr Janeček 20 April 2012 в 10:25Foo
'(MyClass
не имеет ее, тогда Интерфейсы будут искать и принимать в том порядке, в котором они находятся послеimplements
), и поэтому печатают «baz». , Круто. – Petr Janeček 20 April 2012 в 11:20@Inherited
не влияет ни на что иное, кроме класса – Oleg Mikheev 21 January 2017 в 06:34