Javascript json phân tích cú pháp xóa dấu ngoặc kép

▸ LỖI. Hệ thống. JSONException. Ký tự không mong muốn ['^' [mã 94]]. là ▸ mong đợi dấu phẩy để phân tách các mục ĐỐI TƯỢNG tại [dòng. 1, cột. 99] ▸ LỖI. Lớp. Hệ thống. JSON. deserializeUntyped. dòng 11, cột 1 ▸ AnonymousBlock. dòng 2, cột 1 ▸ AnonymousBlock. dòng 2, cột 1

Tôi đã tạo một lớp có danh sách các thuộc tính trong đó một trong các thuộc tính chứa tên chứa dấu nháy đơn. Nhưng khi tôi tuần tự hóa đối tượng bằng JSON [ JsonConvert. SerializeObject] SerializeObjec và chuyển nó đến Trang. ClientScript. Đăng kýClientScriptBlock[. nơi tôi gặp lỗi thiếu đối số]


     customer.CustomerID = Convert.ToString[Session["Number"]];
     customer.CustomerName = Convert.ToString[Session["Name"]];
     customer.Type = type;
     customer.InvoiceFromDate = Convert.ToString[Session["From_Date"]];
     customer.InvoiceToDate = Convert.ToString[Session["To_Date"]];

     string output = JsonConvert.SerializeObject[customer];
     Page.ClientScript.RegisterClientScriptBlock[GetType[], "SaveInfo", "SetData['" + output + "','" + URL + "'];", true];

Ở khách hàng trên. Tên khách hàng chứa value = "The Young's Family"

Bất kỳ trợ giúp được đánh giá cao

dotnet-csharp

Bình luận

Hiển thị nhận xét 0

Bình luận

5. Cần 1600 ký tự còn lại ký tự

  • Hiển thị cho tất cả người dùng
  • Hiển thị với người đăng gốc & Microsoft
  • Người kiểm duyệt có thể xem
  • Có thể xem bởi người kiểm duyệt và người đăng gốc
  • Khả năng hiển thị nâng cao
Chuyển đổi chế độ hiển thị Nhận xét. Hiển thị hiện tại. Hiển thị với tất cả người dùng

tệp đính kèm. Có thể sử dụng tối đa 10 tệp đính kèm [bao gồm cả hình ảnh] với tối đa 3. 0 MiB mỗi cái và 30. tổng cộng 0 MiB

Backspace được thay thế bằng \b, Nguồn cấp biểu mẫu được thay thế bằng \f, Dòng mới được thay thế bằng \n, Dấu xuống dòng được thay thế bằng \r, Tab được thay thế bằng \t, Dấu ngoặc kép được thay thế bằng \", Dấu gạch chéo ngược được thay thế bằng \

Trong hướng dẫn này, chúng ta sẽ nghiên cứu các cách tiếp cận khác nhau để loại bỏ các dấu ngoặc kép bắt đầu và kết thúc khỏi một Chuỗi trong Java

Những gì chúng ta sẽ khám phá ở đây có thể hữu ích cho việc xử lý văn bản được trích xuất từ ​​tệp hoặc nhận được từ các nguồn khác

2. Cách tiếp cận đơn giản. phương thức chuỗi con

Đầu tiên, chúng ta sẽ bắt đầu với một cách tiếp cận đơn giản bằng cách sử dụng phương thức chuỗi con. Phương thức này có thể được gọi trên một đối tượng Chuỗi để trả về một chuỗi con cụ thể

Phương thức yêu cầu hai tham số

  1. beginIndex — chỉ mục của ký tự mà chuỗi con sẽ bắt đầu
  2. end Index - chỉ mục sau nơi chuỗi con sẽ kết thúc

Do đó, xét rằng Chuỗi đầu vào của chúng ta được đặt trong dấu ngoặc kép, chúng ta có thể sử dụng phương thức chuỗi con

String input = "\"text wrapped in double quotes\"";
String result = input.substring[1, input.length[] - 1];
System.out.println["Input: " + input];
System.out.println["Result: " + result];

Bằng cách thực thi đoạn mã trên, chúng ta có đầu ra sau

Input: "text wrapped in double quotes"
Result: text wrapped in double quotes

Nếu chúng tôi không chắc liệu Chuỗi có được đặt trong dấu ngoặc kép hay không, chúng tôi có thể kiểm tra nó trước khi chạy phương thức chuỗi con

if [input != null && input.length[] >= 2 
      && input.charAt[0] == '\"' && input.charAt[input.length[] - 1] == '\"'] {
    result = input.substring[1, input.length[] - 1];
}

Trong ví dụ trên, chúng tôi đã kiểm tra xem Chuỗi có ít nhất hai ký tự và nó bắt đầu và kết thúc bằng dấu ngoặc kép

3. Sử dụng phương pháp thay thế tất cả

Ngoài phương thức substring, chúng ta cũng có thể sử dụng phương thức replaceAll. Phương thức này thay thế tất cả các phần của Chuỗi khớp với một biểu thức chính quy đã cho. Sử dụng replaceAll, chúng tôi có thể loại bỏ tất cả các lần xuất hiện của dấu ngoặc kép bằng cách thay thế chúng bằng các chuỗi trống

String result = input.replaceAll["\"", ""];

Một mặt, cách tiếp cận này có ưu điểm là loại bỏ tất cả các lần xuất hiện của dấu ngoặc kép, ngay cả khi chuỗi có nhiều dòng. Mặt khác, với cách tiếp cận này, chúng tôi không thể chỉ xóa dấu ngoặc kép ở đầu và cuối Chuỗi

Để loại bỏ dấu ngoặc kép ngay từ đầu và cuối Chuỗi, chúng ta có thể sử dụng biểu thức chính quy cụ thể hơn

String result = input.replaceAll["^\"|\"$", ""];

Sau khi thực hiện ví dụ này, các lần xuất hiện dấu ngoặc kép ở đầu hoặc cuối Chuỗi sẽ được thay thế bằng chuỗi rỗng

Để hiểu cách tiếp cận này, hãy chia nhỏ biểu thức chính quy của chúng ta

Đầu tiên, chúng ta có ký hiệu dấu mũ [^], theo sau là dấu ngoặc kép thoát [\”] để khớp với dấu ngoặc kép ở đầu Chuỗi. Sau đó, có một biểu tượng ống [. ] để chỉ ra một phương án phù hợp, tương tự như toán tử logic OR

Cuối cùng, chúng tôi đã thoát khỏi dấu ngoặc kép, theo sau là ký hiệu đô la [$] để khớp dấu ngoặc kép ở cuối Chuỗi

4. Dùng Ổi

Một cách tiếp cận khả thi khác để xóa dấu ngoặc kép ở đầu và cuối Chuỗi là sử dụng lớp CharMatcher từ thư viện Guava

String result = CharMatcher.is['\"'].trimFrom[input];

Cách tiếp cận này dễ hiểu hơn và chỉ xóa các trích dẫn đầu và cuối khỏi Chuỗi. Tuy nhiên, để phương pháp này hoạt động, chúng ta cần thêm thư viện ổi vào dự án của mình


    com.google.guava
    guava
    ${guava-version}

Trong trường hợp này, chúng tôi cần đặt thuộc tính ${guava-version} thành phiên bản mà chúng tôi muốn sử dụng

5. Sự kết luận

Trong bài viết này, chúng tôi đã khám phá các tùy chọn khác nhau để xóa dấu ngoặc kép ở đầu và cuối Chuỗi. Chúng ta có thể áp dụng bất kỳ phương pháp nào trong số này vào thực tế và mỗi phương pháp đều có ưu điểm và nhược điểm

Ví dụ: khi sử dụng thư viện Guava, chúng tôi có một giải pháp đơn giản và thanh lịch. Tuy nhiên, nếu Guava không được bao gồm trong dự án của chúng tôi, giải pháp này sẽ yêu cầu bổ sung một phụ thuộc mới

Làm cách nào để xóa các trích dẫn đơn khỏi đối tượng JSON trong JavaScript?

Làm cách nào để xóa dấu nháy đơn khỏi chuỗi? replaceAll[ "'" , "" ]; replaceAll[ "\'" , "" ]; replaceAll[ "[\']" , "" ];

Làm cách nào để xóa dấu ngoặc kép trong JavaScript?

Sử dụng Chuỗi. phương thức replaceAll[] để xóa tất cả dấu nháy kép khỏi chuỗi , e. g. str. thay thế tất cả['"', '']. Phương thức thay thế [] sẽ trả về một chuỗi mới với tất cả các dấu ngoặc kép đã bị xóa.

Làm cách nào để xóa dấu ngoặc kép khỏi khóa đối tượng JSON?

Nếu bạn đang tạo một đối tượng như. var obj = {"chào","ở đó"}; . Nhưng nếu đó là một chuỗi JSON như. var obj = '{"chào","ở đó"}'; . using $. parseJSON[] sẽ chuyển nó sang phiên bản đầu tiên . Bạn nên đăng nhập dữ liệu của mình vào bảng điều khiển theo cả hai cách để xem đó có phải là điều bạn mong đợi không.

Làm cách nào để xóa dấu ngoặc kép khỏi đối tượng JSON trong JavaScript?

Chúng ta có thể xóa dấu ngoặc kép khỏi chuỗi bằng cách sử dụng JSON. parse[] hoặc eval[] hoặc thay thế dấu ngoặc kép từ chuỗi trả về JSON trong jQuery .

Chủ Đề