相关疑难解决方法(0)

System.Text.Json 中 JObject 的等效项

我有一个属性类型为 的 DTO 类JObject。此 DTO 类在多个服务之间通过 HTTP 发送/接收。使用 JObject 是因为ExtractedData它没有预定义的属性

public class MyDTO
{
    public JObject ExtractedData {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

我正在将此项目转换为 .NET 5。什么相当于 .NET 5 中的 JObject?我试图避免 JsonDocument 因为(来自文档):

JsonDocument 将数据的内存视图构建到池化缓冲区中。因此,与 Newtonsoft.Json 中的 JObject 或 JArray 不同,JsonDocument 类型实现 IDisposable 并且需要在 using 块中使用。

我打算使用JsonElement. 这是最合适的选择还是有任何其他类型可用于将 JSON 作为对象保存?

c# .net-5 system.text.json

11
推荐指数
2
解决办法
4758
查看次数

谷歌地理编码Json解析C#中的问题

我的代码工作正常,但我似乎无法到达树的更深层部分.我试图拉经度和纬度.下面的代码将'status'拉为'OK'没问题(在响应的最后).'geometry' - >'location' - >'lat'和'lng'的语法是什么?

这是我的代码:

string RawAddress = "163 Leektown Road, New Gretna, NJ 08004";
string Address = RawAddress.Replace(" ", "+");
string AddressURL = "http://maps.google.com/maps/api/geocode/json?address=" + Address;
var result = new System.Net.WebClient().DownloadString(AddressURL);
dynamic data = JObject.Parse(result);

Lat.Text = data.status;
Run Code Online (Sandbox Code Playgroud)

这就是API生成的内容:

{
   "results" : [
  {
     "address_components" : [
        {
           "long_name" : "Mountain View",
           "short_name" : "Mountain View",
           "types" : [ "locality", "political" ]
        },
        {
           "long_name" : "Santa Clara County",
           "short_name" : "Santa Clara County",
           "types" : [ "administrative_area_level_2", …
Run Code Online (Sandbox Code Playgroud)

c# api json geocoding

2
推荐指数
1
解决办法
4799
查看次数

解析HTTP JSON响应 - C#

我正在为winforms应用程序进行OAUTH2登录.

我必须使用一些凭据向我们发出请求,服务器将使用令牌和json格式进行响应.

解析令牌值的最佳方法是什么?

这是响应格式:

{
    "access_token":"asdfasdfasdfafbasegfnadfgasdfasdfasdf",
    "expires_in":3600,
    "token_type":"Bearer"
}
Run Code Online (Sandbox Code Playgroud)

c# json http oauth-2.0

2
推荐指数
1
解决办法
3488
查看次数

读取 JSON 文件并映射到 C# 对象

我想读取一个 JSON 文件并将其映射到类对象。我将如何在 C# 中做到这一点?

JSON

{  
   "companyName":"Test company",
   "companyNumber":"1234",
   "address":{  
      "buildingNumber":"33",
      "street":"Caledon Road",
      "county":"Barking and Dagenham",
      "postalTown":"Essex",
      "postcode":"E62HE"
   }
}
Run Code Online (Sandbox Code Playgroud)

C# 代码

public class CompanyInfo
{ 
    public string companyName{ get;set;}
    public string companyNumber{ get;set;}
    public string buildingNumber{ get;set;}
    public string street{ get;set;}
    public string county{ get;set;}
    public string postalTown{ get;set;}
    public string postCode{ get;set;}
}
Run Code Online (Sandbox Code Playgroud)

c# json

2
推荐指数
2
解决办法
2万
查看次数

如何将此字符串拆分为Dictionary <string,string>?

我有以下字符串:

{"key1":"value1","key2":"value2,some other part of value2"}
Run Code Online (Sandbox Code Playgroud)

我可以使用以下长语法来分割它:

var s = someString.Split(new[] {"\",\""}, StringSplitOptions.RemoveEmptyEntries);
var firstEntryValue = s[0].Split(':')[1];
var secondEntryValue = s[1].Split(':')[1];
Run Code Online (Sandbox Code Playgroud)

由于这个字符串基本上是一个Dictionary<string,string>,我怎样才能将整个事物基本上拉成一行?

我见过这样的话:

var s = someString.Split(new[] {"\",\""}, StringSplitOptions.RemoveEmptyEntries)
  .Select(p => p.Split(':'))
  .ToDictionary(split => split[0], split => split[1]);
Run Code Online (Sandbox Code Playgroud)

但它抛出并索引越界错误.是否有一些类似的语法可行?

.net c# string dictionary split

2
推荐指数
1
解决办法
267
查看次数

C#解析JSON字符串

我尝试了无数种方法来解析我的JSON字符串(Steam公共数据),但似乎无济于事。我只希望能够从字符串中提取值。例如,获得的值personaname将返回SlothGod。我在项目中安装了JSON.NET。

这是我的JSON:

{
    "response": {
        "players": [
            {
                "steamid": "76561198301407459",
                "communityvisibilitystate": 3,
                "profilestate": 1,
                "personaname": "SlothGod",
                "lastlogoff": 1508389707,
                "commentpermission": 1,
                "profileurl": "http://steamcommunity.com/id/sleuthgud/",
                "avatar": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/09/09cea52b91136fb3306c57771a746db2823b91ba.jpg",
                "avatarmedium": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/09/09cea52b91136fb3306c57771a746db2823b91ba_medium.jpg",
                "avatarfull": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/09/09cea52b91136fb3306c57771a746db2823b91ba_full.jpg",
                "personastate": 0,
                "realname": "Josh",
                "primaryclanid": "103582791460168790",
                "timecreated": 1462086929,
                "personastateflags": 0,
                "loccountrycode": "AU",
                "locstatecode": "QLD"
            }
        ]

    }
}
Run Code Online (Sandbox Code Playgroud)

向我建议的主要方法:

public class Details
{
    public string personaname { get; set; }
}
private void GetSteamDetails()
{
    var data = Newtonsoft.Json.JsonConvert.DeserializeObject<Details>(SteamDetailsJson);
    SteamName = data.personaname;
}
Run Code Online (Sandbox Code Playgroud)

它放在Page_Load()之前。然后我调用GetSteamDetails(); 当我想获取名称时。

c# json

2
推荐指数
2
解决办法
2万
查看次数

从c#中的字符串中拆分数字

我在c#中有一个字符串,如下所示:

{ name: "Phai d?u cu?c tình", mp3: "audio\\16\\Phai dau cuoc tinh.mp3"},{ name: "Caravan of life", mp3: "audio\\4\\Caravan of life.mp3"},{ name: "I'm Forbidden", mp3: "audio\\11\\I'm Forbidden.mp3"},{ name: "Cause i love you", mp3: "audio\\6\\Cause i love you.mp3"},{ name: "Ch? là gi?c m?", mp3: "audio\\8\\Chi la giac mo.mp3"},{ name: "L?t xác", mp3: "audio\\12\\Lot xac.mp3"}

我想将"\\"之间的数字换成新字符串.例如,结果将是:16; 4; 11; 6; 8; 12.任何帮助都会很棒.

c# regex

1
推荐指数
1
解决办法
126
查看次数

将 JSON 数据加载到 C# 类中

我对 json 相当陌生,我正在尝试将一些 json 内容转换为 C# 类以存储它以供以后使用。我在尝试创建适合数据结构的类时遇到问题。json 内容的示例如下所示。

Json数据

{
    "FirstItem": {
        "id": 1,
        "type": "foo",
        "colours": ["blue", "black", "green"],
        "reviews": {
            "positive": ["The best", "unbelievable", "Awesome"],
            "negative": ["Sh*t", "Awful", "Dire", "Terrible", "Appalling"],
            "neutral": ["OK", "Meh"]
        }
    },
    "SecondItem": {
        "id": 2,
        "type": "bar",
        "colours": ["red", "white", "yellow"],
        "reviews": {
            "positive": ["Great", "Amazing", "Fantastic", "Perfect", "Uplifting"],
            "negative": ["Terrible", "Shocking", "abysmal"],
            "neutral": ["OK", "Standard", "Vanilla"]
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:

值得注意的是,这只是 json 数据的一个小样本,我希望使用更大的数据集,该数据集始终采用这种格式,但是 , FirstItemSecondItem名称?) 总是会有所不同。我可能最终会得到一个MillionthItem.

C# …

.net c# json class

1
推荐指数
1
解决办法
7621
查看次数

如何将字符串数组转换为数组

我有字符串:["gm-63.pdf","GM413.pdf","mh524.pdf"] 如何用c#将上面的字符串转换为字符串数组?

c# arrays

1
推荐指数
1
解决办法
197
查看次数

如何在string.IndexOf()函数的双引号内放置双引号?

我有一个字符串我想获得"id:"ie的索引以及双引号.

我应该如何在C#string.IndexOf函数中这样做?

c# asp.net string

0
推荐指数
1
解决办法
838
查看次数

如何将此JSON结果解析为对象?

我需要将此JSON字符串解析为我的"WeatherJson"类型的对象.但是我不知道如何解析字符串中的阵列,如"'天气’: [{"id":802,"main":"Clouds","description":"scattered clouds","icon":"03d"}].实体类会是什么样子?

JSON字符串:

{
  "coord": {"lon":79.85,"lat":6.93},
  "sys": {
    "type": 1, 
    "id": 7864, 
    "message": 0.0145,
    "country": "LK",
    "sunrise": 1435883361,
    "sunset": 1435928421
  },
  "weather": [
     {"id":802, "main":"Clouds", "description":"scattered clouds", "icon":"03d"}
  ],
  "base": "stations",
  "main": {
    "temp": 302.15,
    "pressure": 1013,
    "humidity": 79,
    "temp_min": 302.15,
    "temp_max": 302.15
  },
  "visibility":10000,
  "wind": { "speed": 4.1, "deg": 220 },
  "clouds": { "all": 40 },
  "dt": 1435893000,
  "id":1248991,
  "name":"Colombo",
  "cod":200
}
Run Code Online (Sandbox Code Playgroud)

编辑

我需要从代码中检索以下值:

WeatherJson w = new WeatherJson();
Console.WriteLine(w.weather.description);
//that above line was retrieved and stored …
Run Code Online (Sandbox Code Playgroud)

.net c# json json.net

-1
推荐指数
1
解决办法
1108
查看次数

如何从字符串中拆分单个数据..?

我想从字符串中获取单个数据,任何人都可以帮助我单独分割ID内容.我的代码存储结果值:

private void sendPostCompleted(object sender, UploadStringCompletedEventArgs e)
{
    try
    {
        MessageBox.Show("Success..");
        MessageBox.Show(e.Result);
        string res=(string)e.Result;//here res contains my data..
        //need to get ID value alone.
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# split webclient windows-phone-7

-5
推荐指数
1
解决办法
248
查看次数