gpt4 book ai didi

json - Swift:如何将接收到的字符串转换为 json

转载 作者:行者123 更新时间:2023-11-30 10:19:08 25 4
gpt4 key购买 nike

我遇到以下问题。我使用 play2 从服务器收到一个 jsonString。我很快将此 jsonString 转换为 jsonDictionary。如果我收到的 jsonString 仅包含一个 jsonDocument 我可以像下面的代码一样隐藏它。

recieved Data:
({"_id":{"$oid":"54cfc217dd99a083af6c3a54"},"kind":"photo","username":"gokn2","article":"das ist ein Test2","datetime":"31.12.2015 22:22:10","city":"Berlin","latitude":"52.00","longitude":"12.02","startdate":"12:00:00","enddate":"12:00:00","binary":"iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAABxpRE9UAAAAAgAAAAAAAAAKAAAAKAAAAAoAAAAKAAACm4NU0j0AAAJnSURBVDgRbJLdS1NxGMdXl9IfEUQ3XdVNRBAF3UaCWEYvFAgiCV6kJJrURGuI5WtTpjCXL9lM3atzmzo1Z5tbO2XuLbep29nbOWfnOGka1MW3fr+gBP3Bw+/HA8/n+X5/zyOTHXH07kzR+1W+zOzjRu0r8djiXKhgtwUL6kl/tFrFjF1pdJSdvD1+4ojSwylPdLeECfGxxLwPQtdbSG1vID3thVjRgt36bkgKNZiOSTSpXFtnK6dLDxMOZMTvP1uzkSQkq5NGpvolhLEZSN51ZCoVEJ0+kBxpUmjqw1y3EZcf29oPIP4/9378ai1kOAjjdgg6B3a2WQiGRYgaA/KDBoiP2sHJVcjU9VBw4mI58iU1YNQzh6HEZo7lqRJeY0S2bQiScRH5ETO2BvTwqKbh6rdgo3kQQm0nVUvARDlRam3X4fR90w0qz7TKF335JiQl8xLtTNSJr98hqTFhzPwVdcNrKO/xoKrfh5apIGYdQWzXdiP9oAn88DQS5+5BulSOJ0pnlg5qysvdZFfW6QAE8wcQcFq3gD5LGPIhBs1DPqiMARidUdjcm2CiHNKFfQj1PWCvPkT2hZoOyiXX4EyV8Y6MrMbOxCwkJghil0zUMB+CdiECy8dNuP0sYn++I54SEIlz+BRKYWo5BsusH+nrNcjZXeCVWnAVz1HaPD8hI3uWa+wF1zFKLRB4gBUphM3k6L22kaYQpd6P+gEvrjXM4VaHB4EGFUhtsrj2r+0uR0JmsoX3yI6RJOmYMi0jmS/gczhFbaqtYQq5q1hCiXzhXzRoA7A9G0Hq2HlsHb+A3KlivOqy7/8GAAD//5+9LFkAAAJkSURBVHWSS0wTYRDHN5z17tHoRT0YuZF4UA4a44uEoGB5+EiIGKogNpUWpDyUCk1bWFyVGpCgQksI1EYpFNwG3FiV2hLCo4bGFWhh26UNhcr1b7/PYMDETWZ3vnwzv/nPzDJW+/RWXKFF+NxdrJ4uhccyhFcTIjQvJnGb/YQC/ThyG9y42jSB2m4fWgdn4BCCCEQ3EOAGIKZlQNybibWDWTC2urYY1jr1gwCX0gsp8HvzG5R1+imk7IkHja994Owz4L0/4Q+EsbAYoTYnbyJeb4G47yyFxtMVqGrll5g77b5eWdUC6X4bYsI3REofY5SfQ+dwgEK882EshmVqvpRvcy9QlVyPF7EzSkTarDRXSom63Dg2yJys5nO9nB3xmqdYc3kgNXbSyqH1JGaXY/g4tURbJCqLjQIu1I1D2eFH8MZDyJqUCM80jf9ssOLwTUchs1/Rt6eKE6REcT2iHfY/FYt0ECtaMPllAVrbLPLMX5FR6UZmnQAdJyCoNGKtksXyKSVCWSokruugNo3JhMWQ51jJ+xzXy1GQOaxcq4Nk6MZqiR7S+XLMl7MY03ZRIz5pU0oVlHudiHY5aI7TOIBDt97mUdj264R6xDTZ1INNtZmqDBXUQO5z0ZnK2SrEKkxYuXgPkef9kN9NUHUbZc0g4zqudrLbnF1fAnVanFjPTiUevYIoZ0N8WIBU/QyR2nb6JxCfFEgUPcCQ3kZhB/JtabtAOw9EusrMh8iQycYTGpa2lTR3gygi2yR3JOZIqSN/Z+5/fTJcEpzT8KFf0zwiGkwjSYPe8Yv4lx7x/WSbfxfwD+U3jf3fV9sI+agAAAAASUVORK5CYII="})

Swift 代码:

let data=self.recvJsonString?.dataUsingEncoding(NSUTF8StringEncoding)
var jsonDict=NSJSONSerialization.JSONObjectWithData(data!, options: .MutableContainers, error: &error) as NSDictionary

但是如果 json 字符串包含多个 json 文档,则不起作用:

("{\"_id\":{\"$oid\":\"54cfd810dd99a083af6c3a5b\"},\"kind\":\"article\",\"username\":\"gokn1\",\"article\":\"das ist ein Test1\",\"datetime\":\"31.12.2015 22:22:10\",\"city\":\"Berlin\",\"latitude\":\"51.00\",\"longitude\":\"11.00\",\"startdate\":\"11:00:00\",\"enddate\":\"11:00:00\",\"binary\":\"\"}",
"{\"_id\":{\"$oid\":\"54cfc217dd99a083af6c3a54\"},\"kind\":\"photo\",\"username\":\"gokn2\",\"article\":\"das ist ein Test2\",\"datetime\":\"31.12.2015 22:22:10\",\"city\":\"Berlin\",\"latitude\":\"52.00\",\"longitude\":\"12.02\",\"startdate\":\"12:00:00\",\"enddate\":\"12:00:00\",\"binary\":\"iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAABxpRE9UAAAAAgAAAAAAAAAKAAAAKAAAAAoAAAAKAAACm4NU0j0AAAJnSURBVDgRbJLdS1NxGMdXl9IfEUQ3XdVNRBAF3UaCWEYvFAgiCV6kJJrURGuI5WtTpjCXL9lM3atzmzo1Z5tbO2XuLbep29nbOWfnOGka1MW3fr+gBP3Bw+/HA8/n+X5/zyOTHXH07kzR+1W+zOzjRu0r8djiXKhgtwUL6kl/tFrFjF1pdJSdvD1+4ojSwylPdLeECfGxxLwPQtdbSG1vID3thVjRgt36bkgKNZiOSTSpXFtnK6dLDxMOZMTvP1uzkSQkq5NGpvolhLEZSN51ZCoVEJ0+kBxpUmjqw1y3EZcf29oPIP4/9378ai1kOAjjdgg6B3a2WQiGRYgaA/KDBoiP2sHJVcjU9VBw4mI58iU1YNQzh6HEZo7lqRJeY0S2bQiScRH5ETO2BvTwqKbh6rdgo3kQQm0nVUvARDlRam3X4fR90w0qz7TKF335JiQl8xLtTNSJr98hqTFhzPwVdcNrKO/xoKrfh5apIGYdQWzXdiP9oAn88DQS5+5BulSOJ0pnlg5qysvdZFfW6QAE8wcQcFq3gD5LGPIhBs1DPqiMARidUdjcm2CiHNKFfQj1PWCvPkT2hZoOyiXX4EyV8Y6MrMbOxCwkJghil0zUMB+CdiECy8dNuP0sYn++I54SEIlz+BRKYWo5BsusH+nrNcjZXeCVWnAVz1HaPD8hI3uWa+wF1zFKLRB4gBUphM3k6L22kaYQpd6P+gEvrjXM4VaHB4EGFUhtsrj2r+0uR0JmsoX3yI6RJOmYMi0jmS/gczhFbaqtYQq5q1hCiXzhXzRoA7A9G0Hq2HlsHb+A3KlivOqy7/8GAAD//5+9LFkAAAJkSURBVHWSS0wTYRDHN5z17tHoRT0YuZF4UA4a44uEoGB5+EiIGKogNpUWpDyUCk1bWFyVGpCgQksI1EYpFNwG3FiV2hLCo4bGFWhh26UNhcr1b7/PYMDETWZ3vnwzv/nPzDJW+/RWXKFF+NxdrJ4uhccyhFcTIjQvJnGb/YQC/ThyG9y42jSB2m4fWgdn4BCCCEQ3EOAGIKZlQNybibWDWTC2urYY1jr1gwCX0gsp8HvzG5R1+imk7IkHja994Owz4L0/4Q+EsbAYoTYnbyJeb4G47yyFxtMVqGrll5g77b5eWdUC6X4bYsI3REofY5SfQ+dwgEK882EshmVqvpRvcy9QlVyPF7EzSkTarDRXSom63Dg2yJys5nO9nB3xmqdYc3kgNXbSyqH1JGaXY/g4tURbJCqLjQIu1I1D2eFH8MZDyJqUCM80jf9ssOLwTUchs1/Rt6eKE6REcT2iHfY/FYt0ECtaMPllAVrbLPLMX5FR6UZmnQAdJyCoNGKtksXyKSVCWSokruugNo3JhMWQ51jJ+xzXy1GQOaxcq4Nk6MZqiR7S+XLMl7MY03ZRIz5pU0oVlHudiHY5aI7TOIBDt97mUdj264R6xDTZ1INNtZmqDBXUQO5z0ZnK2SrEKkxYuXgPkef9kN9NUHUbZc0g4zqudrLbnF1fAnVanFjPTiUevYIoZ0N8WIBU/QyR2nb6JxCfFEgUPcCQ3kZhB/JtabtAOw9EusrMh8iQycYTGpa2lTR3gygi2yR3JOZIqSN/Z+5/fTJcEpzT8KFf0zwiGkwjSYPe8Yv4lx7x/WSbfxfwD+U3jf3fV9sI+agAAAAASUVORK5CYII=\"}"

)

看来我必须先拆分 json。但我该怎么办呢。谁能帮我解决这个问题。

谢谢

最佳答案

第二个示例不是有效的 JSON 字符串。尝试使用 jsonlint.com 来验证 JSON 字符串。仔细看...这实际上是两个字符串。

双引号标记字符串的边界。

"{ \"val1\" : \"string1" }", "{ \"val1\" : \"String2\" }"

所以...将其更改为以下内容,使其成为单个 JSON 字符串。

"{ \"val1\" : \"string1" }, { \"val1\" : \"String2\" }"

关于json - Swift:如何将接收到的字符串转换为 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28300412/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com