我试图解析一个ios 6应用程序的JSON,但似乎无法让它工作.我已经搜索了大量的论坛,但没有找到一个有效的解决方案,我理解足以实现,或者适用.
如果有一个我错过了,我道歉.
首先,我有一个测试WebService,据我所知,返回有效的JSON
http://thetrouthunter.com/SVLocationsAPI.php
其次,这是我的Objective-C代码:
+ (NSDictionary *)connectToService:(NSString *)query
{
NSError *error = nil;
query = [NSString stringWithFormat:@"%@&format=json&nojsoncallback=1", query];
query = [query stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSData *jsonData = [[NSString stringWithContentsOfURL:[NSURL URLWithString:query] encoding:NSUTF8StringEncoding error:nil] dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *results = jsonData ? [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers|NSJSONReadingMutableLeaves error:&error] : nil;
NSLog(@"locations: %@", results);
if (error)
NSLog(@"[%@ %@] JSON error: %@", NSStringFromClass([self class]), NSStringFromSelector(_cmd), error.localizedDescription);
return results;
}
+ (NSArray *)userLocation {
NSString *request = [NSString stringWithFormat:@"http://thetrouthunter.com/SVLocationsAPI.php"];
return [[self connectToService:request] valueForKeyPath:@"locations.location"];
}
Run Code Online (Sandbox Code Playgroud)
ls NSLog函数打印出错误:"操作无法完成.(可可错误:3840.)"
我无法弄清楚为什么会这样.我尝试过各种各样的事情.
我创建了一个继承自 InputTagHelper 的标签助手,如这篇文章/sf/answers/2834275811/中的答案所示。
这是代码
[HtmlTargetElement("input", Attributes = ForAttributeName)]
public class ExrInputTagHelper : InputTagHelper
{
private const string ForAttributeName = "asp-for";
[HtmlAttributeName("asp-disabled")]
public bool IsDisabled { get; set; }
public ExrInputTagHelper(IHtmlGenerator generator):base(generator)
{
}
public override void Process(TagHelperContext context, TagHelperOutput output)
{
if (IsDisabled)
{
var d = new TagHelperAttribute("disabled", "disabled");
output.Attributes.Add(d);
}
base.Process(context, output);
}
}
Run Code Online (Sandbox Code Playgroud)
这是它的用法:
<input asp-for="UsingCreditCard" type="checkbox" asp-disabled="@Model.UsingACH" />
Run Code Online (Sandbox Code Playgroud)
这很有效,但有一个明显的问题。如果输入类型是复选框,则会呈现两次。所有其他输入类型都很好用。为什么会出现这种情况呢?
<input checked="checked" data-val="true" data-val-required="The UsingCreditCard field is required." id="UsingCreditCard" name="UsingCreditCard" type="checkbox" value="true">
<input checked="checked" id="UsingCreditCard" name="UsingCreditCard" …Run Code Online (Sandbox Code Playgroud) 我是python的新手,正在阅读Sublime Text插件的一些代码,并且遇到了一些我不熟悉的代码.
views = [v for v in sublime.active_window().views()]
Run Code Online (Sandbox Code Playgroud)
它是"[v for v"部分,我不明白.这段代码在做什么呢?
提前致谢!
asp.net-core ×1
c# ×1
ios6 ×1
json ×1
objective-c ×1
plugins ×1
python ×1
sequences ×1
sublimetext2 ×1
tag-helpers ×1
web-services ×1