小编Rob*_*ith的帖子

使用swift 4为数组从远程URL检索json数据的正确方法

我试图看看在swift 4中使用Codable结构检索json数据的最新和最好的方法是什么.

我在远程URL中有以下json数据:

[
  {
    "products": [
        {
          "productid": "01",
          "price": "01"
        },
        {
          "productid": "02",
          "price": "02"
        }
    ]
  }
]
Run Code Online (Sandbox Code Playgroud)

我还设置了相应的可编码结构.我的问题是使用swift 4的最新技术检索这些数据的正确方法.

我看到了各种各样的方式,例如:

  • DataManager.getJSONFromURL ...
  • 让jsonData =尝试数据(contentsOf:URL ...
  • let task = URLSession.shared.dataTask(with:url)...
  • 试试JSONSerialization.data ......

我想知道哪个是从远程URL使用swift 4检索json数据的正确(最新)格式.谢谢.

swift

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

使用lambda C#从列表中的列表中返回一个整数

我有以下课程:

public class Customer
{
    public int location { get; set; }
    public List<int> slots { get; set; }    
}
Run Code Online (Sandbox Code Playgroud)

然后我有一个客户列表:

List<Customer> lstCustomer = new List<Customer>();
Run Code Online (Sandbox Code Playgroud)

然后我有一个插槽号码:

int slot = 4;
Run Code Online (Sandbox Code Playgroud)

我想返回插槽所属的特定位置的整数.(见上面的客户类)

这是我到目前为止:

int? location = lstCustomer
  .Where(l => l.slots.Any(x => slot))
  .FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

但这不起作用(Error: Cannot convert int to bool).任何帮助,将不胜感激.谢谢.

c# linq

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

将#字符替换为空格和#字符

我试图在井号#前面添加一个空格。但是,如果井号前面已经有空格,则不应添加空格。另外,它不应在字符串的首字符添加空格。这是我到目前为止的内容:

string result = Regex.Replace("542#452", @"(?=#)(?!$)", " ");
Run Code Online (Sandbox Code Playgroud)

但这会增加双倍的空格(当一个磅符号已经有一个空格时)。它还在开头添加了一个空格:

样本数据和所需的输出:

Input        Output
243#423      243 #423
22 #44       22 #44
#32#         #32 #
#            #
##           # #
Run Code Online (Sandbox Code Playgroud)

谢谢

c# regex string replace

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

使用 JSONDecoder 和 Swift 将 nil 转换为空字符串

我正在使用 Swift 4 和JSONDecoder. 我有以下结构:

struct Customer: Codable {
    var id: Int!
    var cnum: String!
    var cname: String!
}
Run Code Online (Sandbox Code Playgroud)

注意:这些字段不能是可选的。

现在我有一个 JSON 字符串:

[
    {
        "id": 1,
        "cnum": "200",
        "cname": "Bob Smith"
    },
    {
        "id": 2,
        "cnum": "201",
        "cname": null
    }
]
Run Code Online (Sandbox Code Playgroud)

为了对其进行解码,我使用以下命令:

let decoder = JSONDecoder()
let customers = try decoder.decode([Customer].self, from: json)
Run Code Online (Sandbox Code Playgroud)

除了空数据被转换为 nil 之外,一切正常。我的问题是,将传入的 nil 转换为空字符串(“”)的最简单方法是什么?

我想用最少的代码来做到这一点,但我不确定正确的方法以及在什么时候可以将 nil 转换为空字符串。预先谢谢你。

swift swift4 jsondecoder

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

标签 统计

c# ×2

swift ×2

jsondecoder ×1

linq ×1

regex ×1

replace ×1

string ×1

swift4 ×1