将数组转换为SwiftyJSON

时间:2016-06-09 14:07:36

标签: ios arrays swift swifty-json

我有一个由NSUserDefaults保存的.rawString()转换的JSON对象的NSArray。

以下是 lanesToReturn NSArray的打印:

(
"{\n  \"Sentido\" : 2,\n  \"DenominacaoTPTS\" : \"CH\U00c1CARA MARIA TRINDADE\",\n  \"Circular\" : true,\n  \"CodigoLinha\" : 34998,\n  \"Tipo\" : 10,\n  \"DenominacaoTSTP\" : \"TERM JD. BRIT\U00c2NIA\",\n  \"Informacoes\" : null,\n  \"Letreiro\" : \"1015\"\n}",
"{\n  \"Sentido\" : 1,\n  \"DenominacaoTPTS\" : \"CH\U00c1CARA MARIA TRINDADE\",\n  \"Circular\" : true,\n  \"CodigoLinha\" : 2230,\n  \"Tipo\" : 10,\n  \"DenominacaoTSTP\" : \"TERM JD. BRIT\U00c2NIA\",\n  \"Informacoes\" : null,\n  \"Letreiro\" : \"1015\"\n}",
"{\n  \"Sentido\" : 2,\n  \"DenominacaoTPTS\" : \"CENTER NORTE\",\n  \"Circular\" : false,\n  \"CodigoLinha\" : 33599,\n  \"Tipo\" : 10,\n  \"DenominacaoTSTP\" : \"CEMITERIO DO HORTO\",\n  \"Informacoes\" : null,\n  \"Letreiro\" : \"1016\"\n}"
)

现在,我需要将此数组转换回JSON,以便我可以显示它。

到目前为止我的尝试:

1 - 我能够将我的数组转换为JSON,但内部的键不起作用。

var jsonToReturn:JSON = JSON(lanesToReturn)
print(jsonToReturn[0])
print(jsonToReturn[0]["DenominacaoTSTP"].string)

**The result of the first print:**
{
  "Sentido" : 2,
  "DenominacaoTPTS" : "CHÁCARA MARIA TRINDADE",
  "Circular" : true,
  "CodigoLinha" : 34998,
  "Tipo" : 10,
  "DenominacaoTSTP" : "TERM JD. BRITÂNIA",
  "Informacoes" : null,
  "Letreiro" : "1015"
}

**The result of the second print:**
nil

2 - 我试图转换数组,但结果相同。

    do {

        let jsonData = try NSJSONSerialization.dataWithJSONObject(lanesToReturn, options: NSJSONWritingOptions.PrettyPrinted)
        var jsonToReturn:JSON = JSON(data:jsonData)
        print(jsonToReturn[0])
        print(jsonToReturn[0]["DenominacaoTSTP"].string)

    }catch let error as NSError{

        print(error.description)

    }

3 - 尝试使用JSON.parse()但得到了相同的结果

任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

在你的第一个回答中,你试过吗

jsonToReturn[0]["DenominacaoTSTP"].stringValue