有没有一种简单的方法来填充我的C#对象与通过AJAX传递的JSON对象?
//这是使用JSON.stringify从页面传递给C#WEBMETHOD的JSON对象
{
"user": {
"name": "asdf",
"teamname": "b",
"email": "c",
"players": ["1", "2"]
}
}
Run Code Online (Sandbox Code Playgroud)
// C#WebMetod接收JSON对象
[WebMethod]
public static void SaveTeam(Object user)
{
}
Run Code Online (Sandbox Code Playgroud)
// C#类,表示传入WebMethod的JSON Object的对象结构
public class User
{
public string name { get; set; }
public string teamname { get; set; }
public string email { get; set; }
public Array players { get; set; }
}
Run Code Online (Sandbox Code Playgroud) 我的应用程序的Release文件夹中有一个settings.json文件.我想要做的是更改它的值,而不是暂时,永久..这意味着,删除旧条目,写一个新条目并保存它.
这是JSON文件的格式
{
"Admins":["234567"],
"ApiKey":"Text",
"mainLog": "syslog.log",
"UseSeparateProcesses": "false",
"AutoStartAllBots": "true",
"Bots": [
{
"Username":"BOT USERNAME",
"Password":"BOT PASSWORD",
"DisplayName":"TestBot",
"Backpack":"",
"ChatResponse":"Hi there bro",
"logFile": "TestBot.log",
"BotControlClass": "Text",
"MaximumTradeTime":180,
"MaximumActionGap":30,
"DisplayNamePrefix":"[AutomatedBot] ",
"TradePollingInterval":800,
"LogLevel":"Success",
"AutoStart": "true"
}
]
}
Run Code Online (Sandbox Code Playgroud)
假设我想更改密码值而不是BOT PASSWORD我希望它只是密码.我怎么做?
我正在使用NewtonSoft JObject解析JSON字符串.如何以编程方式从动态对象获取值?我想简化代码,不要为每个对象重复自己.
public ExampleObject GetExampleObject(string jsonString)
{
ExampleObject returnObject = new ExampleObject();
dynamic dynamicResult = JObject.Parse(jsonString);
if (!ReferenceEquals(dynamicResult.album, null))
{
//code block to extract to another method if possible
returnObject.Id = dynamicResult.album.id;
returnObject.Name = dynamicResult.album.name;
returnObject.Description = dynamicResult.albumsdescription;
//etc..
}
else if(!ReferenceEquals(dynamicResult.photo, null))
{
//duplicated here
returnObject.Id = dynamicResult.photo.id;
returnObject.Name = dynamicResult.photo.name;
returnObject.Description = dynamicResult.photo.description;
//etc..
}
else if..
//etc..
return returnObject;
}
Run Code Online (Sandbox Code Playgroud)
有什么办法可以将"if"语句中的代码块提取到一个单独的方法,例如:
private void ExampleObject GetExampleObject([string of desired type goes here? album/photo/etc])
{
ExampleObject returnObject = new ExampleObject(); …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用vs 2012中的过去特殊功能,以便为我的Json数据生成c#类.我从Nuget从NewtonSoft下载了Json.New,然后添加了一个新的.cs类,将我的json数据复制到剪贴板,但是当我转到Edit-> Paste Special - >时,我只能看到:将XML粘贴为类只有粘贴Json as Classes功能未显示.有什么建议?提前谢谢你
这是我得到的,请注意我已经安装了Newtonsoft.Json:
可能重复:
C#中的增量JSON解析
以下问题是相关的,但不解决(至少直接)我正在尝试解决的问题:
我试图使用Json.NET反序列化可能非常大的JSON数据.JObject.Parse(JsonFullString)我希望通过令牌从流令牌中读取并构造对象图,而不是将整个文件加载到内存中并使用解析JSON .我将不胜感激任何关于如何从流实现反序列化的建议.
注意:我的意图是用更好的实现替换以下代码
string jsonData = string.Empty;
byte[] buffer = new byte[16 * 1024];
using (MemoryStream ms = new MemoryStream())
{
int read;
while ((read = stream.Read(buffer, 0, buffer.Length)) > 0)
{
ms.Write(buffer, 0, read);
}
jsonData = ASCIIEncoding.ASCII.GetString(ms.ToArray());
}
JObject jObject = JObject.Parse(jsonData);
var entities = from e in jObject.Root
select e;
我正在尝试解析以下复杂的 JSON 结果,该结果是从 Zoho Crm API 返回的:
{
"response":
{
"result":
{
"Contacts":
{
"row":
[
{
"no":"1",
"FL":
[
{
"content":"555555000000123456",
"val":"CONTACTID"
},
{
"content":"555555000000012345",
"val":"SMOWNERID"
},
{
"content":"John Doe",
"val":"Contact Owner"
},
{
"content":"Pete",
"val":"First Name"
},
{
"content":"Smith",
"val":"Last Name"
},
{
"content":"pete@mail.com",
"val":"Email"
},
{
"content":"5555551000000012346",
"val":"SMCREATORID"
},
{
"content":"Jane Doe",
"val":"Created By"
},
{
"content":"555555000000012347",
"val":"MODIFIEDBY"
},
{
"content":"Doris Doe",
"val":"Modified By"
},
{
"content":"2013-06-14 17:24:10",
"val":"Created Time"
},
{
"content":"2013-06-14 17:24:10",
"val":"Modified Time"
}, …Run Code Online (Sandbox Code Playgroud) 假设我有3个整数都声明为
int Y = 0;
int N = 0;
int U = 0;
Run Code Online (Sandbox Code Playgroud)
从那里我从存储过程中获取2个值(一个字符串和一个整数).
该字符串返回Y,N,U
整数返回参加人数.
string test = dr["ATTEND_CDE"].ToString();
int test2 = int.Parse(dr["COUNT"].ToString());
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来分配相应的整数除以下计数:
if (test == "Y")
{
Y = test2;
}
else if (test == "N")
{
N = test2;
}
else if (test == "U")
{
U = test2;
}
Run Code Online (Sandbox Code Playgroud) 我有以下 json:
"rates": {
"AT": {
"country": "Austria",
"standard_rate": 20.00,
"reduced_rate": 10.00,
"reduced_rate_alt": 13.00,
"super_reduced_rate": false,
"parking_rate": 12.00
},
"DK": {
"country": "Denmark",
"standard_rate": 25.00,
"reduced_rate": false,
"reduced_rate_alt": false,
"super_reduced_rate": false,
"parking_rate": false
},
}
Run Code Online (Sandbox Code Playgroud)
我有以下类来反序列化 json:
public string country { get; set; }
public double standard_rate { get; set; }
//public string reduced_rate { get; set; }
private double _reduced_rate;
public double reduced_rate
{
get { return _reduced_rate; }
set
{
bool isDouble = Double.TryParse(value.ToString(), out _reduced_rate);
if (isDouble) …Run Code Online (Sandbox Code Playgroud) 我正在使用C#.Net并试图解析一些JSON.
我有这个我检索的JSON.我试过使用JavaScriptSerliazer,但无法弄清楚正确的结构.
解析此JSON以获取每个数组(第一,第二,第三等)的最佳方法是什么?
{
"first":["A","B"],
"second":["C","D"],
"third":["E","F","G","H","I"],
"fourth":["J","K","L","M","N"]
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Json.NET库读取JsonArray中包含一些值的json对象。我想将每个数组值转换成变量。以下是Json String。请指导,谢谢。
{"enad_list":
[{
"et_cnic":"1090202369011",
"et_name":"Its me",
"et_father_husband_name":"My father name",
"et_present_add":"Its my address",
"et_permanent_add":"Its my another address ",
"et_date_of_birth":"10-9-1982",
"et_birth_place":"My Birth place",
"et_expiry_date":"2020-12-15"
}]
}
Run Code Online (Sandbox Code Playgroud)
编辑:到目前为止,我已经尝试过此代码并收到错误消息。请查看图片以了解错误
string jsonData =@"{""enad_list"":[{""et_cnic"":""1090202369011"",""et_name"":""Its me""}]}";
dynamic jsonData = JObject.Parse(abc.ToString());
int cnic = jsonData.enad_list.et_cnic;
Run Code Online (Sandbox Code Playgroud)