Tôi đang sử dụng nodejs với jsonpath. Tôi có cấu trúc json này:Làm thế nào để liệt kê các tên khóa đối tượng với jsonpath?
{
things:{
books: [
{name: "book1"},
{name: "book2"},
{name: "book3"},
{name: "book4"},
],
movies: [
{name: "movie1"},
{name: "movie2"},
{name: "movie3"},
{name: "movie4"},
]
}
}
Tôi muốn biết các biểu hiện jsonpath mà trả về một mảng với những cái tên quan trọng của đối tượng things
. Đó sẽ là:
["books","movies"]
Còn bây giờ, tôi đang làm điều này:
Object.keys(jsonpath.eval(jsonStructure,"$.things").pop());
Nhưng tôi không tìm thấy nó tao nhã ... tôi không nên cần phải nhận được một bản sao toàn bộ cấu trúc khi tôi chỉ cần các tên chính.
Tại sao sử dụng JSONPath khi bạn chỉ có thể làm 'Object.keys (jsonStructure.things) '? – loganfsmyth
Đúng, điều đó cũng sẽ hoạt động. Nhưng quan điểm của tôi là làm điều đó chỉ với jsonpath. Ý tưởng là các chuỗi jsonpath sẽ được lưu trữ trong một tập tin cấu hình. Tôi muốn để có thể ảnh hưởng đến hành vi kịch bản chỉ thay đổi tập tin cấu hình và không phải là mã. – norteo