C# Newtonsoft JSON不包含';项目';
我正在尝试从我的web服务项目中的Json数组中获取Json对象。。。我得到一个错误:C# Newtonsoft JSON不包含';项目';,c#,sql-server,json,web-services,C#,Sql Server,Json,Web Services,我正在尝试从我的web服务项目中的Json数组中获取Json对象。。。我得到一个错误: Newtonsoft JSON does not contain definition for 'Item' , 我还尝试使用其他函数来代替“Item”函数,但这不起作用 顺便说一句,我使用了一个VB到C的在线转换工具来生成这段代码 这是我的密码 try { HttpContext context = this.Context; string
Newtonsoft JSON does not contain definition for 'Item' ,
我还尝试使用其他函数来代替“Item”函数,但这不起作用
顺便说一句,我使用了一个VB到C的在线转换工具来生成这段代码
这是我的密码
try
{
HttpContext context = this.Context;
string strJson = "";
JArray OrderItems = JArray.Parse(JSONString);
//Dim IncrementalConnection As New SqlConnection()
SqlConnection conn = new SqlConnection(connectionString);
conn.Open();
SqlCommand IncrementalIdCommand = new SqlCommand("INSERT INTO TheOrderIds DEFAULT VALUES; SET @AutoID=SCOPE_IDENTITY()", conn);
SqlParameter Param = new SqlParameter();
Param.ParameterName = "@AutoID";
Param.Size = 4;
Param.Direction = ParameterDirection.Output;
IncrementalIdCommand.Parameters.Add(Param);
IncrementalIdCommand.ExecuteNonQuery();
int OrderId = Convert.ToInt32(Param.Value);
conn.Close();
foreach (JObject OrderItem in OrderItems)
{
string strSQL = "insert into Orders(ProductNumber,Name,Category,Price,OrderId,TableNumber,WaiterName,CashierName,DateAndTime,isActive,isCoocked,isPaid,isYesCanceled,ProductQuantity,extraQty,PaidDate,isDiscounted, DicountPercent, AfterDiscount) values(@x,@y,@a,@b,@c,@d,@e,@f,@g,@h,@i,@j,@k,@l,0,getDate(),0,0,0)";
conn.Open();
SqlCommand cmd = new SqlCommand(strSQL, conn);
cmd.Parameters.AddWithValue("@x", OrderItem.Item("ProductNumber").ToString());
cmd.Parameters.AddWithValue("@y", OrderItem.Item("Name").ToString());
cmd.Parameters.AddWithValue("@a", OrderItem.Item("Category").ToString());
cmd.Parameters.AddWithValue("@b", OrderItem.Item("Price").ToString());
cmd.Parameters.AddWithValue("@c", OrderId);
cmd.Parameters.AddWithValue("@d", OrderItem.Item("TableNumber").ToString());
cmd.Parameters.AddWithValue("@e", OrderItem.Item("WaiterName").ToString());
cmd.Parameters.AddWithValue("@f", OrderItem.Item("CashierName").ToString());
cmd.Parameters.AddWithValue("@g", OrderItem.Item("DateAndTime").ToString());
cmd.Parameters.AddWithValue("@h", OrderItem.Item("isActive").ToString());
cmd.Parameters.AddWithValue("@i", OrderItem.Item("isCoocked").ToString());
cmd.Parameters.AddWithValue("@j", OrderItem.Item("isPaid").ToString());
cmd.Parameters.AddWithValue("@k", OrderItem.Item("isYesCanceled").ToString());
cmd.Parameters.AddWithValue("@l", OrderItem.Item("ProductQuantity").ToString());
cmd.ExecuteNonQuery();
conn.Close();
}
//ProductNumber As [String], Name As [String], Category As [String], Price As [String], OrderId As [String]'
//this is the bridge to database\
string json = "{\"result\":\"1\", \"exception\":" + "" + "\"" + "NULL" + "\"" + "\"}";
context.Response.Write(strJson);
}
catch (Exception ex)
{
string json = "{\"result\":\"0\", \"exception\":" + "" + ex.Message + "\"}";
Context.Response.Write(json);
}
在c#中,只需添加[]
即可访问对象的元素,方法与访问对象元素的方法相同。具有一个索引器,该索引器接受字符串并返回该名称的属性值。因此,您需要:
cmd.Parameters.AddWithValue("@x", OrderItem["ProductNumber"].ToString());
对cmd.Parameters.AddWithValue()
的其他调用也是如此