gpt4 book ai didi

ios - 过滤并替换ios中出现的所有字符串

转载 作者:行者123 更新时间:2023-11-28 22:11:01 25 4
gpt4 key购买 nike

我有以下格式的数据

   field1 = "sometext";
field2 = text2;
field3 = (
{
uniqueId = 123;
},
{
uniqueId = 234;
}
);
field4 = "anothertext";

我需要这样转换

"field1":"sometext",
"field2":"text2",
"field3": [
{
"uniqueId":"123",
},
{
"uniqueId":"234",
}
],
"field4":"anothertext"

即将“=”替换为 : 并在“=”之前和之后的字符串末尾附加“和;以及‘,’ 我应该如何进行?

最佳答案

您似乎有一个字典,其中包含一对字符串键/值对,以及您正尝试将其转换为 JSON 的其他字典数组。

如果我在这方面有误并且完全错过了您想要完成的工作,我深表歉意。根据您想要的最终结果,这可能是一种更简单的方法。

您当前的初始字符串可以这样存储:

NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
@"sometext", @"field1",
text2, @"field2",
myDictArray, @"field3",
@"anothertxt", @"field4"
, nil];

然后用json转换成你想要的格式。

我有一个方法可以用于此目的。

+(NSData*)jsonDatafromDictionary:(NSMutableDictionary*) dictionary
{
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dictionary
options:0 // Pass 0 if you don't care about the readability of the generated string
error:&error];

if (error) {
NSString *errorDesc = [NSString stringWithFormat:@"Error creating json data from dictionary: %@", error.localizedDescription];
NSLog(@"ERROR: %@", errorDesc);
jsonData = nil;
return nil;
}
else
return jsonData;
}

要以 NSString 形式查看数据,您可以使用:

NSString *jsonString = [[NSString alloc]initWithData:webData encoding:NSUTF8StringEncoding];

要将 json 转换回字典格式,我使用此方法:

+(NSMutableDictionary*)dictionaryWithContentsOfJSONString:(NSString*)jsonString
{
NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSError *error = nil;
NSMutableDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingAllowFragments error:&error];
if (error)
NSLog(@"FAILED TO CREATE DICTIONARY FROM JSON STRING: %@", error.localizedDescription);
jsonData = nil;
error = nil;
return jsonDict;
}

----- 编辑 -----根据您在下面的评论,这可能会让您入门。我唯一没有添加的是在需要的地方添加引号的代码……我需要考虑几分钟,这应该会像您想要的那样替换所有其他字符。

注意:我还没有对此进行测试,但应该可以帮助您入门。

-(NSString*)convertString:(NSString*)ps
{
NSString *cs = @"";
cs = [ps stringByReplacingOccurrencesOfString:@";" withString:@","];
cs = [cs stringByReplacingOccurrencesOfString:@"(" withString:@"["];
cs = [cs stringByReplacingOccurrencesOfString:@")" withString:@"]"];
cs = [cs stringByReplacingOccurrencesOfString:@"=" withString:@":"];
return cs;
}

关于ios - 过滤并替换ios中出现的所有字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22939200/

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