我有课程
public class RootObject
{
public int id { get; set; }
public int parent_id { get; set; }
public string status { get; set; }
public string order_key { get; set; }
public string currency { get; set; }
public string version { get; set; }
public bool prices_include_tax { get; set; }
public string date_created { get; set; }
public string date_modified { get; set; }
public int customer_id { get; set; }
public double discount_total { get; set; }
public double discount_tax { get; set; }
public double shipping_total { get; set; }
public double shipping_tax { get; set; }
public double cart_tax { get; set; }
public double total { get; set; }
public double total_tax { get; set; }
public Billing billing { get; set; }
public Shipping shipping { get; set; }
public string payment_method { get; set; }
public string payment_method_title { get; set; }
public string transaction_id { get; set; }
public string customer_ip_address { get; set; }
public string customer_user_agent { get; set; }
public string created_via { get; set; }
public string customer_note { get; set; }
public string date_completed { get; set; }
public string date_paid { get; set; }
public string cart_hash { get; set; }
public List<object> line_items { get; set; }
public List<object> tax_lines { get; set; }
public List<object> shipping_lines { get; set; }
public List<object> fee_lines { get; set; }
public List<object> coupon_lines { get; set; }
}
我得到这样的数据
List<RootObject> rootObjectData = JsonConvert.DeserializeObject<List<RootObject>>(products);
foreach (RootObject root in rootObjectData)
{
int id = root.id;
int customer_id = root.customer_id;
string fio = root.billing.first_name + " " + " " + root.billing.last_name;
string adress = root.billing.address_1 + " " + " " + root.billing.address_2;
double total = root.total;
string telephone = root.billing.phone;
line_items
有List<object>
类型
在line_items
我有一些带数据的json。
例如
"line_items": [
{
"product_id": 93,
"quantity": 2
},
{
"product_id": 22,
"variation_id": 23,
"quantity": 1
}
],
我如何获得例如product_id
?
非常感谢你的帮助!
答案 0 :(得分:4)
您可以使用非常强大的动态:
List<dynamic> lineItems = jsonObject.line_items;
foreach (dynamic line_item in lineItems)
{
int productId = line_item.product_id;
}
请记住:
由于重命名/其他因素,它可能会崩溃 -
dynamic
非常强大,但要谨慎使用。
您也可以直接访问它而无需您创建的“类” - 只需反序列化为动态并访问字段!
答案 1 :(得分:1)
如果不够明显
using Newtonsoft.Json.Linq;
foreach(object line_item in line_items)
{
JObject line_item_jobject = line_item as JObject;
Jvalue product_id = line_item_jobject["product_id"] as JValue;
int product_id_value = (int)product_id.Value;
// Another way
int product_id_value2 = line_item_jobject.Value<int>("product_id");
}