Chuyển đổi html sang json java
Sự miêu tảchuyển đổi JSON thành HTML có thể in Show
Mã trình diễn/*// w w w. j a v a 2s .c o m * Copyright (c) 2008, ClearForest Ltd. * * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * - Redistributions of source code must retain the above * copyright notice, this list of conditions and the * following disclaimer. * * - Redistributions in binary form must reproduce the above * copyright notice, this list of conditions and the * following disclaimer in the documentation and/or other * materials provided with the distribution. * * - Neither the name of ClearForest Ltd. nor the names of * its contributors may be used to endorse or promote * products derived from this software without specific prior * written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.Map.Entry; public class Main{ public static String convertJSONToPrintableHTML(String json) { String tab = " "; StringBuilder new_json = new StringBuilder(); String retStr = null; int indent_level = 0; boolean in_string = false; int i; char c; json = StringUtils.escapeHTML(json); for (i = 0; i < json.length(); i++) { c = json.charAt(i); switch (c) { case '{': case '[': if (!in_string) { new_json.append("" + c + " Hướng dẫn liên quanJsoup là một thư viện Java mã nguồn mở được sử dụng chủ yếu để trích xuất dữ liệu từ HTML. Nó cũng cho phép bạn thao tác và xuất HTML. Nó có một dòng phát triển ổn định, tài liệu tuyệt vời và API thông thạo và linh hoạt. Jsoup cũng có thể được sử dụng để phân tích cú pháp và xây dựng XML Trong hướng dẫn này, chúng ta sẽ sử dụng Blog mùa xuân để minh họa một bài tập cạo thể hiện một số tính năng của jsoup
2. Phụ thuộc MavenĐể sử dụng thư viện jsoup trong dự án của bạn, hãy thêm phần phụ thuộc vào tệp pom của bạn. xml
Bạn có thể tìm thấy phiên bản mới nhất của jsoup trong kho lưu trữ Maven Central 3. Sơ lược về JsoupJsoup tải trang HTML và xây dựng cây DOM tương ứng. Cây này hoạt động giống như DOM trong trình duyệt, cung cấp các phương thức tương tự như jQuery và vanilla JavaScript để chọn, duyệt, thao tác văn bản/HTML/thuộc tính và thêm/xóa các phần tử Nếu bạn cảm thấy thoải mái với bộ chọn phía máy khách và duyệt/thao tác DOM, bạn sẽ thấy jsoup rất quen thuộc. Kiểm tra việc in các đoạn của một trang dễ dàng như thế nào
Hãy nhớ rằng jsoup chỉ diễn giải HTML — nó không diễn giải JavaScript. Do đó, những thay đổi đối với DOM thường diễn ra sau khi tải trang trong trình duyệt hỗ trợ JavaScript sẽ không được nhìn thấy trong jsoup 4. Đang tảiGiai đoạn tải bao gồm tìm nạp và phân tích cú pháp HTML thành Tài liệu. Jsoup đảm bảo phân tích cú pháp của bất kỳ HTML nào, từ những trang không hợp lệ nhất đến những trang được xác thực hoàn toàn, như một trình duyệt hiện đại sẽ làm. Nó có thể đạt được bằng cách tải Chuỗi, InputStream, Tệp hoặc URL Hãy tải một Tài liệu từ URL Blog Mùa xuân
Lưu ý phương thức get, nó đại diện cho một lệnh gọi HTTP GET. Bạn cũng có thể thực hiện POST HTTP bằng phương thức post (hoặc bạn có thể sử dụng phương thức nhận loại phương thức HTTP làm tham số) Nếu bạn cần phát hiện các mã trạng thái bất thường (e. g. 404), bạn nên nắm bắt ngoại lệ HttpStatusException
Đôi khi, kết nối cần được tùy chỉnh hơn một chút. Jsoup. connect(…) trả về một Kết nối cho phép bạn đặt, trong số những thứ khác, tác nhân người dùng, liên kết giới thiệu, thời gian chờ kết nối, cookie, dữ liệu bài đăng và tiêu đề
Vì kết nối tuân theo giao diện trôi chảy, bạn có thể xâu chuỗi các phương thức này trước khi gọi phương thức HTTP mong muốn
Bạn có thể tìm hiểu thêm về cài đặt Kết nối bằng cách duyệt Javadoc tương ứng 5. lọcBây giờ chúng tôi đã chuyển đổi HTML thành Tài liệu, đã đến lúc điều hướng nó và tìm thấy những gì chúng tôi đang tìm kiếm. Đây là nơi mà sự tương đồng với jQuery/JavaScript rõ ràng hơn, vì các bộ chọn và phương thức duyệt của nó là tương tự nhau 5. 1. lựa chọnPhương thức chọn Tài liệu nhận một Chuỗi đại diện cho bộ chọn, sử dụng cú pháp bộ chọn giống như trong CSS hoặc JavaScript và truy xuất danh sách Thành phần phù hợp. Danh sách này có thể rỗng nhưng không rỗng Chúng ta hãy xem xét một số lựa chọn bằng cách sử dụng phương pháp select
Bạn cũng có thể sử dụng các phương thức rõ ràng hơn lấy cảm hứng từ DOM của trình duyệt thay vì phương thức chọn chung chung ________số 8Vì Phần tử là lớp cha của Tài liệu, bạn có thể tìm hiểu thêm về cách làm việc với các phương thức lựa chọn trong Javadocs Tài liệu và Phần tử 5. 2. đi ngang quaĐi ngang có nghĩa là điều hướng trên cây DOM. Jsoup cung cấp các phương thức hoạt động trên Tài liệu, trên một tập hợp Phần tử hoặc trên một Phần tử cụ thể, cho phép bạn điều hướng đến cha mẹ, anh chị em hoặc con của nút Ngoài ra, bạn có thể chuyển đến Phần tử đầu tiên, cuối cùng và thứ n (sử dụng chỉ mục dựa trên 0) trong một tập hợp các Phần tử
Bạn cũng có thể lặp qua các lựa chọn. Trên thực tế, mọi thứ thuộc loại Phần tử đều có thể được lặp lại 0Bạn có thể thực hiện lựa chọn giới hạn đối với lựa chọn trước đó (lựa chọn phụ) 06. giải nénBây giờ chúng ta đã biết cách tiếp cận các phần tử cụ thể, vì vậy đã đến lúc lấy nội dung của chúng — cụ thể là thuộc tính, HTML hoặc văn bản con của chúng Hãy xem ví dụ này chọn bài viết đầu tiên từ blog và nhận ngày của nó, văn bản phần đầu tiên của nó và cuối cùng là HTML bên trong và bên ngoài của nó 1Dưới đây là một số mẹo cần ghi nhớ khi chọn và sử dụng bộ chọn
7. sửa đổiViệc sửa đổi bao gồm việc thiết lập các thuộc tính, văn bản và HTML của các phần tử, cũng như thêm và xóa các phần tử. Nó được thực hiện với cây DOM được tạo trước đó bởi jsoup – Tài liệu 7. 1. Đặt thuộc tính và Văn bản bên trong/HTMLNhư trong jQuery, các phương thức đặt thuộc tính, văn bản và HTML có cùng tên nhưng cũng nhận giá trị được đặt
Hãy xem một ví dụ nhanh về các phương pháp này 27. 2. Tạo và thêm các phần tửĐể thêm một phần tử mới, trước tiên bạn cần xây dựng phần tử đó bằng cách khởi tạo Phần tử. Khi Phần tử đã được tạo, bạn có thể nối nó vào Phần tử khác bằng phương thức appendChild. Phần tử mới được tạo và nối thêm sẽ được chèn vào cuối phần tử nơi appendChild được gọi 37. 3. Loại bỏ các yếu tốĐể xóa các phần tử, trước tiên bạn cần chọn chúng và chạy phương thức xóa For example, let's remove all 47. 4. Chuyển đổi tài liệu đã sửa đổi thành HTMLCuối cùng, vì chúng tôi đang thay đổi Tài liệu, chúng tôi có thể muốn kiểm tra công việc của mình Để làm điều này, chúng ta có thể khám phá cây Document DOM bằng cách chọn, duyệt qua và trích xuất bằng các phương thức được trình bày hoặc chúng ta có thể chỉ cần trích xuất HTML của nó dưới dạng Chuỗi bằng phương thức html() 5Đầu ra Chuỗi là một HTML gọn gàng 8. Phần kết luậnJsoup là một thư viện tuyệt vời để cạo bất kỳ trang nào. Nếu bạn đang sử dụng Java và không yêu cầu cạo dựa trên trình duyệt, thì đó là một thư viện cần tính đến. Nó quen thuộc và dễ sử dụng vì nó sử dụng kiến thức bạn có thể có về phát triển giao diện người dùng và tuân theo các mẫu thiết kế và thực tiễn tốt Bạn có thể tìm hiểu thêm về cách quét các trang web bằng jsoup bằng cách nghiên cứu API jsoup và đọc sách dạy nấu ăn jsoup Bạn có thể biến HTML thành JSON không?Hỗ trợ phân tích cú pháp HTML thành JSON tải Tệp HTML để chuyển đổi thành JSON. Nhấp vào nút Tải lên và chọn Tệp. HTML to Plain JSON Converter Online hoạt động tốt trên Windows, MAC, Linux, Chrome, Firefox, Edge và Safari.
Làm cách nào để tạo tệp JSON từ biểu mẫu HTML?Chúng tôi muốn gửi trực tiếp dữ liệu của biểu mẫu HTML tới tệp JSON. Đối với điều này, chúng tôi đang sử dụng hàm json_encode() trả về một chuỗi được mã hóa JSON . Chúng tôi đang tạo một mảng các giá trị mà người dùng điền vào biểu mẫu HTML. Sau đó, chúng tôi chuyển mảng này vào hàm json_encode().
Làm cách nào để phân tích cú pháp HTML trong JSON?Sử dụng hàm JavaScript JSON. parse() để chuyển văn bản thành đối tượng JavaScript . const obj = JSON. phân tích cú pháp ('{"tên". "John", "tuổi". 30, "thành phố". "Newyork"}'); .
Làm cách nào để chuyển đổi HTML thành Chuỗi trong Java?Các bước chuyển đổi HTML thành văn bản trong Java . Định cấu hình dự án của bạn để thêm Aspose. HTML cho Java từ kho lưu trữ Maven Bao gồm tham chiếu đến Aspose. Không gian tên HTML trong ứng dụng của bạn Đọc nội dung tệp HTML nguồn bằng đối tượng Chuỗi Khởi tạo đối tượng lớp HTMLDocument để tải Chuỗi HTML nguồn |