- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我从返回 JSON 响应的 Web 服务获取数据。这是我的代码:
WebClient client = new WebClient();
var result = client.DownloadString("http://some url");
JObject obj = JObject.Parse(result);
// Location l = new Location();
// l.city = obj["ad"][2]; error here
此时它返回了一个结果,但是我得到了一个错误:
Cannot implicitly convert type 'Newtonsoft.Json.Linq.JToken' to 'string'
我需要一些帮助,将返回的数据放入模型中的变量中。
这是我的 JSON:
{
data: [
{
address_obj: {
street1: "9518 Front Beach Road",
street2: "",
city: "Panama City Beach",
state: "Florida",
country: "United States",
postalcode: "32407",
address_string: "9518 Front Beach Road, Panama City Beach, FL 32407"
},
câu trả lời hay nhất
JSON 表示包含 dữ liệu
的外部对象对象数组,每个项目包含一个 address_obj
然后具有字符串属性的对象。所以 JToken
您使用的索引器语法必须匹配该层次结构,包括使用正确的属性名称。此外,当从 JToken
中检索值时您需要将其转换为正确的类型。
你可以这样得到城市,其中Tôi
是你想要的位置的索引:
l.city = (string)obj["data"][i]["address_obj"]["city"];
但是,如果您所做的只是填充模型对象,那么使用 JsonConvert.DeserializeObject
直接反序列化可能会更简单。而不是使用 JTokens
手动填充它们.例如,如果您的类定义如下:
public class RootObject
{
[JsonProperty("data")]
public List- Data { get; set; }
}
public class Item
{
[JsonProperty("address_obj")]
public Location Location { get; set; }
}
public class Location
{
[JsonProperty("street1")]
public string Street1 { get; set; }
[JsonProperty("street2")]
public string Street2 { get; set; }
[JsonProperty("city")]
public string City { get; set; }
[JsonProperty("state")]
public string State { get; set; }
[JsonProperty("country")]
public string Country { get; set; }
[JsonProperty("postalcode")]
public string PostalCode { get; set; }
[JsonProperty("address_string")]
public string FullAddress { get; set; }
}
然后你可以像这样直接反序列化它们:
RootObject obj = JsonConvert.DeserializeObject(result);
关于c# - 如何从 JToken 获取字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33754692/
Tôi cần sự giúp đỡ của bạn với những điều sau đây. Tôi đã đọc về nhiệm vụ và không đồng bộ trong gần một tháng. Tôi muốn thử triển khai kiến thức mới tìm thấy của mình trong một dự án API WEP đơn giản. Tôi có các phương pháp sau và tất cả chúng đều hoạt động như mong đợi: public Htt
Tôi có tệp mẫu (.xls) trong tệp thực thi của mình. Không cần trong thời gian chạy, tôi cần tạo hơn 100 bản sao của tệp này (sẽ được thêm vào sau). Được sử dụng để lấy tài nguyên trong tệp jar (template.xls). tôi đang sử dụng
Tôi đang xem mã mô hình của trang web và có câu hỏi về nguyên mẫu. Tôi biết điều này hữu ích cho việc kế thừa trong Javascript. Trong ví dụ này...define([], function () { "use
Ba thao tác hàng đầu ảnh hưởng đến hiệu suất của tôi là: Nhận thanh cuộn Nhận chiều cao bù trừ Ext.getStyle Để giải thích những gì đang xảy ra trong ứng dụng của tôi: Tôi có một lưới với một cột trong mỗi ô hiển thị lưới. Khi tôi làm hầu hết mọi thứ với nội dung của lưới, nó sẽ hoạt động
Tôi đang sử dụng chức năng sau để lấy tham số URL. hàm gup(tên, url) { name = name.replace(/[\[]/, '\\\[').replace(/[\]]/,
Gần đây tôi đã sử dụng sysctl cho rất nhiều thứ và hiện tại tôi đang sử dụng biến HW_MACHINE_ARCH. Tôi đang sử dụng đoạn mã sau. Lưu ý rằng mã này hoạt động hoàn hảo khi tôi cố gắng lấy biến khác HW_MACHINE. tôi cũng nghĩ
đóng cửa. Câu hỏi này không tuân thủ các nguyên tắc của Stack Overflow. Hiện tại nó không chấp nhận câu trả lời. Đóng cửa 9 năm trước Các câu hỏi yêu cầu mã phải thể hiện sự hiểu biết tối thiểu về vấn đề đang được giải quyết. Bao gồm các giải pháp đã thử và tại sao
Vì sử dụng main-bower-files như một phần của tác vụ biên dịch bằng Gulp, nên tôi không thể sử dụng webpack trong node_modules để yêu cầu module code> dir vì tôi sẽ làm rối mã
đóng cửa. Câu hỏi này cần tập trung hơn. Hiện tại nó không chấp nhận câu trả lời. Bạn muốn cải thiện câu hỏi này? Đã cập nhật câu hỏi để tập trung vào một vấn đề chỉnh sửa bài đăng này Đã đóng 5 năm trước. Cải thiện câu hỏi này
Tôi đang sử dụng Gridlayout để đặt 4 phần tử liên tiếp. Đầu tiên, tôi có JPanel và mọi thứ đều hoạt động tốt. Đối với những trường hợp số lượng hàng ngày càng lớn và tôi phải cuộn xuống, tôi đã thực hiện một số thay đổi đối với nó. Bây giờ tôi đã thêm J vào JPanel của mình
Tôi muốn lưu giá trị của VolumeId vào một biến vì những lý do sau: #!/usr/bin/env python import boto3 import json import argparse import
Tôi đang cập nhật MSAL phiên bản 1.x lên trình duyệt MSAL cho Angular. Vì vậy, tôi đang cố gắng di chuyển từ phiên bản 1.x sang 2.XI và đã có thể thay thế mã thành công và nó hoạt động tốt. Nhưng tôi đã gặp có đượcT
Tôi biết có rất nhiều câu hỏi về vấn đề này như Lấy số trung bình hàng ngày với gấu trúc và Làm thế nào để lấy giá trị trung bình hàng tháng của gấu trúc bằng cách sử dụng nhóm nhưng tôi đã gặp phải
Đây là chuỗi truy vấn mà tôi nhận được trong URL. URL đầu ra: /demo/analysis/test?startDate=Sat+
Tôi đang cố gắng truy cập lớp Geoserver var gkvrtWmsSource =new ol.source.ImageWMS({ u
API yêu cầu tiêu đề chứa mã ủy quyền. Đây là những gì tôi có cho đến nay: var fullUrl = 'https://api.ecobee.com/1/thermostat?json=\{"s
Làm cách nào tôi có thể lấy ký tự cuối cùng trong một tệp và nếu đó là một ký tự nhất định, hãy xóa nó mà không tải toàn bộ tệp vào bộ nhớ? Đây là những gì tôi có hiện tại. sử dụng (var fileStream = new FileStream("file.t
Tôi mới tham gia cộng đồng này và nghĩ ra câu hỏi đầu tiên của mình. Tôi đang làm việc với JSP và tôi đã tạo thành công các Trang web JSP đang sử dụng jsp:setParameter và jsp:getParameter bằng một chuỗi duy nhất.
Để trả lời cho việc sắp xếp lại StoreStore xảy ra khi biên dịch C++ cho x86 @Peter Cordes đã viết For Acquire/Release se
Tôi có một hàm, hãy gọi nó là X1, hàm này trả về biến Y. Hàm này được sử dụng trong hành động .on("focusout", X1). Làm thế nào để có được biến Y? Kết quả của X1 sau khi thực thi .on là gì? Câu trả lời hay nhất Bạn có thể thay đổi phạm vi của Y để nó nằm trong hàm
Tôi là một lập trình viên xuất sắc, rất giỏi!