Trình soạn thảo JSON dựa trên GUI hoặc Web hoạt động như trình thám hiểm thuộc tính [đã đóng]


217

Bối cảnh: Đây là một yêu cầu cho một cái gì đó có thể chưa tồn tại, nhưng tôi đã có ý định xây dựng một cái trong một thời gian dài. Đầu tiên tôi sẽ hỏi nếu có ai đã nhìn thấy bất cứ điều gì như vậy chưa.

Giả sử bạn có một cấu trúc JSON tùy ý như sau:

{
    'title_str':'My Employee List'
    ,'lastmod_str': '2009-June-15'
    ,'employee_table':[
        {'firstname':'john','lastname':'doe','age':'33',}
        ,{'firstname':'jane','lastname':'doe','age':'34',}
        ,{'firstname':'samuel','lastname':'doe','age':'35',}
    ]
}

Câu hỏi: Có trình soạn thảo JSON dựa trên web nào có thể có cấu trúc như thế này và tự động cho phép người dùng sửa đổi điều này trong GUI thân thiện với người dùng không?

Ví dụ: Hãy tưởng tượng một biểu mẫu HTML được tạo tự động hiển thị 2 điều khiển văn bản loại đầu vào cho cả tiêu đề và Lastmod và một bảng điều khiển văn bản loại đầu vào với ba cột và ba hàng cho mảng_list ... với khả năng xóa hoặc thêm các hàng bổ sung bằng cách nhấp vào [+] [X] bên cạnh mỗi hàng trong bảng.

Ý tưởng lớn: "Ý tưởng lớn" đằng sau điều này là người dùng sẽ có thể chỉ định bất kỳ cấu trúc JSON tùy ý (không đệ quy) nào và sau đó cũng có thể chỉnh sửa cấu trúc với tương tác dựa trên GUI (điều này sẽ tương tự như "Chế độ xem lưới của trình soạn thảo XML" trong XML Spy).

Xem thêm:

Cập nhật: (Thu 2014-07-31 18:31:11)

Một kho lưu trữ github đã được tạo để theo dõi thêm bài SO đã đóng này.


Bạn có bất kỳ tiến bộ về xây dựng trình soạn thảo riêng? tôi đang tìm kiếm điều tương tự Những gì tôi đã tìm thấy trên mạng gần giống như những gì bạn đã liệt kê trong câu trả lời của bạn.
Sinan

Không. Có vẻ như đó là một ý tưởng đủ tốt với không đủ động lực đằng sau nó.
dreftymac

nếu tôi có đủ động lực cho nó, tôi rất muốn viết ứng dụng ca cao đầu tiên của mình cho điều đó, nếu bạn sẽ không yêu cầu bản quyền;)
Sinan

1
Tôi quá nhỏ để đặt một bức tường xung quanh bất kỳ ý tưởng nào của tôi và điều này đã được thực hiện trước đó :) ... hãy xem trình soạn thảo chế độ xem lưới XMLSPY nếu bạn quyết định giải quyết vấn đề này và bạn cần thêm cảm hứng: altova .com / xmlspy / xml-lưới-view.html
dreftymac

Tôi đã suy nghĩ về điều này, và tìm thấy câu hỏi của bạn khi kiểm tra nếu có nhu cầu cho nó. khi kiểm tra xem liệu có nhu cầu nào đặt một nguyên mẫu lại với nhau không
13ren

Câu trả lời:


334

Cập nhật: Trong nỗ lực trả lời câu hỏi của riêng tôi, đây là những gì tôi có thể khám phá cho đến nay. Nếu bất cứ ai khác ngoài đó có một cái gì đó, tôi vẫn sẽ quan tâm để tìm hiểu thêm.

Dựa trên lược đồ JSON

Thương mại (Không có chứng thực dự định hoặc ngụ ý, có thể hoặc không thể đáp ứng yêu cầu)

jQuery

YAML

Xem thêm


1
Form Builder được làm bằng Freja trông thật tuyệt vời! Mặc dù điều này (gần như) hoàn toàn không liên quan đến câu hỏi ...: P
cregox

1
@Cawas Trông thật tuyệt vời. Thật đáng ngạc nhiên, nhưng có một số nhà xây dựng hình thức xuất sắc ngoài kia - một (wufoo) gần đây đã được mua với giá ... 35 triệu đô la.ycombinator.com/item?id=2481576
13ren

14
+1 cho jsoneditoronline.org Đây là GIT của dự án này - github.com/wjosdejong/jsoneditoronline
FDisk

3
liên kết git jsoneditoronline không còn hoạt động.
argyle

4
@jeromeyer: Bạn đã đúng. Tôi đã tìm thấy liên kết dự án làm việc ở đây: https://github.com/josdejong/jsoneditor
Mehul Joisar

3

Nói chung khi tôi muốn tạo một chuỗi JSON hoặc YAML, tôi bắt đầu bằng cách xây dựng cấu trúc dữ liệu Perl và sau đó chạy một chuyển đổi đơn giản trên nó. Bạn có thể đặt UI trước thế hệ cấu trúc dữ liệu Perl, ví dụ như biểu mẫu web.

Việc chuyển đổi cấu trúc sang JSON rất đơn giản:

use strict;
use warnings;
use JSON::Any;

my $data = { arbitrary structure in here };
my $json_handler = JSON::Any->new(utf8=>1);
my $json_string = $json_handler->objToJson($data);

Cảm ơn, nhưng tôi cũng không quen với các hình thức perl. Bất kỳ đề nghị cho một nhà sản xuất mẫu đơn giản? Đây thực sự chỉ là một phần rất nhỏ trong dự án tôi đang thực hiện nên tôi không muốn dành quá nhiều thời gian cho việc xây dựng biểu mẫu / giao diện người dùng thay vì logic và thuật toán thực sự tôi đang viết :)
David B
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.