根据用户输入快速创建键值对

时间:2018-08-10 04:16:08

标签: ios json swift dictionary key-value

我需要根据以下格式的用户输入为键"availabilities"创建一个键值对数组,以发布数据。对如何做到这一点感到困惑。

"availabilities": [
    {
        "availabilites_start_time": "6:00",
        "availabilites_end_time": "10:00",
        "availabilites_dayofweek": "1.",
        "availabilites_shift": "Morning"
    }
],

3 个答案:

答案 0 :(得分:1)

希望这会有所帮助:

var availabilitiesDict = [String: Any]()
availabilitiesDict["availabilities"] = [["availabilites_start_time" : "6:00", "availabilites_end_time": "10:00", "availabilites_dayofweek" : "1.", "availabilites_shift" : "Morning"]]

let jsonData = try? JSONSerialization.data(withJSONObject: availabilitiesDict, options: [])
let jsonString = String(data: jsonData!, encoding: .utf8)!
print(jsonString)

enter image description here

答案 1 :(得分:0)

首先创建一个Struct作为数据模型,并一个数组作为数据源,如下面的代码所示。

struct Availabilities {
let availabilites_start_time, availabilites_end_time, availabilites_dayofweek, availabilites_shift : String 
}

var availabilitiesArray = [Availabilities]()

我们免费获得成员级初始化程序,因此,只要用户选择自己的选择,就会使用这些值创建一个Availabilities实例,如下面的代码片段所示。

 let availability = Availabilities (availabilites_start_time: "6:00", availabilites_end_time: "10:00", availabilites_dayofweek: "1", availabilites_shift:"Morning" )

由于具有可编码的类型结构,因此可以使用JSONEncoder将类型转换为可以写入文件或通过网络发送的数据。

let jsonEncoder = JSONEncoder()
let jsonData = try jsonEncoder.encode(availability)

let jsonString = String(data: jsonData, encoding: .utf8)
print(jsonString)

答案 2 :(得分:0)

我建议先创建字典的内部数组,然后再创建字典外部。

<?php foreach($view_camera as $key) { ?>
<div class="vxgplayer"
id="vxg_media_player1" 
width="1315"
height="615"
url="<?php echo $key->link ?>"
nmf-src="pnacl/Release/media_player.nmf"
nmf-path="media_player.nmf"
useragent-prefix="MMP/3.0"
latency="10000"
autohide="2"
volume="0.7"
autostart=true
avsync
mute
aspect-ratio
aspect-ratio-mode="1"
auto-reconnect>
</div>