任何人都知道为什么我的一些json元素被反斜杠(\
)转义而其他人没有?
{"first":"John","last":"Smith","dogs":"[{\"name\":\"Rex\",\"breed\":\"Lab\"},{\"name\":\"Spot\",\"breed\":\"Dalmation\"},{\"name\":\"Fido\",\"breed\":\"Terrier\"}]"}
Run Code Online (Sandbox Code Playgroud)
理想情况下,我希望他们中没有人逃脱......
这是通过覆盖as_json
两个模型生成的.人has_many狗.
#models/person.rb
class Person < ActiveRecord::Base
has_many :dogs
def as_json(options={})
{
:first => first,
:last => last,
:dogs => dogs.to_json
}
end
end
#models/dog.rb
class Dog < ActiveRecord::Base
belongs_to :people
def as_json(options={})
{
:name => name,
:breed => breed
}
end
end
Run Code Online (Sandbox Code Playgroud) 任何人都有一些简洁的字典示例,其中包含一些有趣的键(除了规范字符串或整数),以及您在程序中如何使用它们?
我理解一个关键所需要的东西hashable
,意味着它必须是不可变的和可比较的(有一个__eq__()
或一个__cmp__()
方法).
一个相关的问题是:我怎样才能快速,轻松地定义一个新的hashable
?
我正在实现Facebook Like Button,但我遇到了宽度问题.我正在使用JavaScript SDK实现,而不是直接iframe.
根据文档,默认宽度是450
.那没关系,我明白宽度可以通过标签width
上的属性来改变<fb:like>
.但是,我的问题是我真的无法指定固定宽度.由于按钮的性质,宽度在所有状态下都不是恒定的.例如,如果没有人喜欢该页面,它会显示"成为您喜欢的第一个朋友"; 如果有人,则会显示"XXX这样的人.成为你的第一个朋友"; 如果你喜欢它,它会显示"你喜欢这个" 或 "你和XXX这样的人".换句话说,按钮有许多状态,其中没有一个共享恒定的宽度.
如果不是因为我想显示浮动在右侧的按钮,这不会是一个大问题<div>
.为了更清楚,这就是我正在做的事情:
<div id="wrapper">
<span class="fb-like"><fb:like show_faces="false" width="450" font="lucida grande""></fb:like></span>
...
</div>
<style type="text/css">
.fblike {
display: inline-block;
padding: 0.5em;
position: absolute;
right: 0;
top: 0;
}
#wrapper {
position: relative;
}
</style>
Run Code Online (Sandbox Code Playgroud)
这工作正常,但问题是iframe现在具有450像素的恒定宽度.由于iframe是左对齐的,因此当文本较短时,右侧会有额外的空间.我尝试了各种各样的应用text-align: right
无济于事.而这个问题更加复杂的是,这实际上只是FB SDK添加的iframe的花哨标记,所以我无力用CSS或JavaScript更改其任何内容.
我需要一个解决方案,它将(a)保持按钮区域的宽度动态(即,它根据内容而改变); 或(b)右键对齐按钮区域中的所有内容.
感谢任何人都可以给我的帮助!
javascript css facebook facebook-like facebook-javascript-sdk
让我先说我已经习惯在Mac上使用Sequel Pro进行数据库管理(表创建和内联数据编辑).
我现在也被要求做一些oracle工作,我正在寻找一个与Sequel Pro具有相同功能的Oracle客户端.
我必须能够先ssh然后再登录数据库.在表视图中编辑数据,并能够轻松地运行查询.
我自己发现的唯一产品是navicat.然而,它的工作流程一直在推动我的发展.:)
有什么建议?保持低于500美元将是很好的...我知道蟾蜍,但它是昂贵的,如果有足够的替代品,我想暂缓要求.:)
谢谢,
- =布莱恩
有没有办法做到这一点?我有一组项目,我想从另一组中排除.我知道我可以循环遍历我的集合中的每个项目,只将它添加到我的filteredSet中,如果它不在另一个集合中,但如果我可以使用谓词那么会很好.
要排除的项集不是直接相同类型的对象集; 这是一组字符串; 如果其中一个属性与该字符串匹配,我想从我的第一个集合中排除任何内容....换句话说:
NSMutableArray *filteredArray = [NSMutableArray arrayWithCapacity:self.questionChoices.count];
BOOL found;
for (QuestionChoice *questionChoice in self.questionChoices)
{
found = NO;
for (Answer *answer in self.answers)
{
if ([answer.units isEqualToString:questionChoice.code])
{
found = YES;
break;
}
}
if (!found)
[filteredArray addObject:questionChoice];
}
Run Code Online (Sandbox Code Playgroud)
这可以用谓词来完成吗?
我想存储一组基于它们所代表的值键入的对象.这些键可以重复.例如:
[4] => Bob
[5] => Mary
[5] => Sue
[9] => Steve
[10] => Jason
[10] => Michelle
Run Code Online (Sandbox Code Playgroud)
本质上,我想循环遍历这个并查看每个键并说"是否有另一个对象(在这种情况下是人),其键在当前键的1之内?如果是,请匹配它们并从集合中删除它们. " 我将在上面的示例中迭代"1"值,直到集合为空(或者为奇数场景保留一个对象).
我不相信我试图这样做的方式是最好的方式,所以我也愿意接受反馈.
这是我正在处理的sqlite数据库应用程序的代码片段:
my $query = "select * from pins";
my $sth = $dbh->prepare($query) or die "Couldn't prep: $DBI::errstr";
$sth->execute or die "Exec problem: $DBI::errstr";
my $result = $sth->fetchall_arrayref();
my $names = $sth->{NAME} or die "Name failed: $DBI::errstr";
foreach my $row (@$res) {
# ... do some row-specific things
foreach my $cell (@$row) {
# ... do some cell-specific things
}
}
Run Code Online (Sandbox Code Playgroud)
查询触发就好了,实际上它会返回正确的结果.但是,由于某种原因,这条线,
my $names = $sth->{NAME} or die "Name failed: $DBI::errstr";
Run Code Online (Sandbox Code Playgroud)
失败.{NAME}永远不会返回我期望的arrayref.如果我把die子句删掉,它运行正常(当然,无论我在哪里使用$ name,都会抛出预期的"使用未初始化的值"警告).
是否有一些明显的原因我错过了{NAME}不会触发,因为查询工作得很好?
谢谢!
我是新手使用类,我正在尝试将变量传递给我的类中的一个方法.我该怎么做?
这是我想要完成的一个例子:
class a_class():
def a_method(txt):
print txt
instance = a_class()
instance.a_method('hello world!)
Run Code Online (Sandbox Code Playgroud)
PS我还不了解整体self
和__blah__
概念,如果我不必使用它们,我会在这一点上避开它们.
我正在尝试针对W3C XML Schema验证XML.
以下代码执行作业并报告发生错误的时间.但是我无法得到错误的行号.它总是返回-1.
有没有简单的方法来获得行号?
import java.io.File;
import javax.xml.XMLConstants;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Source;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamSource;
import javax.xml.validation.Schema;
import javax.xml.validation.SchemaFactory;
import javax.xml.validation.Validator;
import org.w3c.dom.Document;
import org.xml.sax.SAXParseException;
public class XMLValidation {
public static void main(String[] args) {
try {
DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document document = parser.parse(new File("myxml.xml"));
SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Source schemaFile = new StreamSource(new File("myschema.xsd"));
Schema schema = factory.newSchema(schemaFile);
Validator validator = schema.newValidator();
validator.validate(new DOMSource(document));
} catch (SAXParseException e) {
System.out.println(e.getLineNumber());
e.printStackTrace();
} catch (Exception …
Run Code Online (Sandbox Code Playgroud) 我有一个问题,当我向用作选项卡的组件添加鼠标侦听器时,我无法切换选项卡。
这说明了问题:
import javax.swing.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
public class JTabBug {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
JTabbedPane jTabbedPane = new JTabbedPane();
jTabbedPane.addTab("Red", new JLabel("Roses"));
jTabbedPane.addTab("Blue", new JLabel("Skies"));
jTabbedPane.addTab("Green", new JLabel("Grass"));
for (int i = 0; i < jTabbedPane.getTabCount(); i++) {
JLabel tabComponent = new JLabel(jTabbedPane.getTitleAt(i));
tabComponent.addMouseMotionListener(new MouseMotionAdapter() {
@Override
public void mouseDragged(MouseEvent e) {
System.out.println("dragging");
}
});
jTabbedPane.setTabComponentAt(i, tabComponent);
}
JFrame jFrame = new JFrame("Testing");
jFrame.add(jTabbedPane);
jFrame.setSize(400, 500);
jFrame.setVisible(true);
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); …
Run Code Online (Sandbox Code Playgroud) java ×3
python ×2
class ×1
client ×1
collections ×1
css ×1
dbi ×1
dictionary ×1
facebook ×1
ios ×1
javascript ×1
json ×1
jtabbedpane ×1
key-value ×1
list ×1
macos ×1
nspredicate ×1
nsset ×1
object-graph ×1
objective-c ×1
oracle ×1
perl ×1
sax ×1
set ×1
sqlite ×1
ssh ×1
swing ×1
xml ×1
xsd ×1