0

私はこのような文字列を持っています:

jsonArray:
{
d = "[{\"Training_Code\":\"1234      \",\"Training_Duration\":\"2hrs      \",\"Training_Startdate\":\"14/02/2013 15:00:00\",\"Training_Enddate\":\"14/02/2013 17:00:00\",\"Trainer_ID\":1,\"Training_Location\":\"B-Wing Training room-4\",\"Comments\":\"C# training\",\"Keyword\":\"C#1234\",\"NumberofDays\":1},{\"Training_Code\":\"4321      \",\"Training_Duration\":\"16        \",\"Training_Startdate\":\"17/02/2013 10:30:00\",\"Training_Enddate\":\"17/02/2013 17:30:00\",\"Trainer_ID\":2,\"Training_Location\":\"A-Wing Training Room-6\",\"Comments\":\"Objective-C\",\"Keyword\":\"Obj-C4321\",\"NumberofDays\":2}]";
}

2 つの角かっこ (角かっこを含む) の間のデータを取得し、すべての "\" を削除して、次のような最終的な文字列を取得します。

[
{
"Training_Code": "1234",
"Training_Duration": "2hrs",
"Training_Startdate": "14/02/201315: 00: 00",
"Training_Enddate": "14/02/201317: 00: 00",
"Trainer_ID": 1,
"Training_Location": "B-WingTrainingroom-4",
"Comments": "C#training",
"Keyword": "C#1234",
"NumberofDays": 1
},
{
"Training_Code": "4321",
"Training_Duration": "16",
"Training_Startdate": "17/02/201310: 30: 00",
"Training_Enddate": "17/02/201317: 30: 00",
"Trainer_ID": 2,
"Training_Location": "A-WingTrainingRoom-6",
"Comments": "Objective-C",
"Keyword": "Obj-C4321",
"NumberofDays": 2
}
]

Objective-Cでこれを行うにはどうすればよいですか? ありがとう。

4

4 に答える 4

2
  1. nsstringメソッドdataUsingEncodingを使用してnsdataインスタンスを取得します。
  2. 使用するNSJSONSerialization

必要な文字列は、指定したものと同じです。

于 2013-02-20T16:34:09.777 に答える
0

dは文字列なので、次のようになります。

「\」を削除するには、次のようにします。

NSString *newString = [myString stringByReplacingOccurrencesOfString:@"\" withString:@""];

角かっこは前と最後にあるので、おそらくこれを行うことができます:

[newString removeObjectAtIndex:0];
[newString removeObjectAtIndex:[newString count]-1];

最初のステップは、状況に応じてその文字列を取得し、myStringを文字列に置き換えることです。

于 2013-02-20T16:27:24.167 に答える
0

ソース文字列に [ と ] がそれぞれ 1 つ含まれている場合のみ...

  1. componentsSeparatedByString を使用して、ソース文字列を [.
  2. componentsSeparatedByString を使用して、上記の結果 (objectAtIndex:0) を ] で分割します。
于 2013-02-20T17:38:31.587 に答える