问题列表 - 第40624页

Rails 3:转义字符(\)出现在JSON字符串的一部分中

任何人都知道为什么我的一些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)

serialization json ruby-on-rails object-graph

3
推荐指数
2
解决办法
1万
查看次数

除了字符串和整数之外的Python字典键?

任何人都有一些简洁的字典示例,其中包含一些有趣的键(除了规范字符串或整数),以及您在程序中如何使用它们?

我理解一个关键所需要的东西hashable,意味着它必须是不可变的和可比较的(有一个__eq__()或一个__cmp__()方法).

一个相关的问题是:我怎样才能快速,轻松地定义一个新的hashable

python dictionary

30
推荐指数
4
解决办法
6万
查看次数

如何让Facebook Like按钮的宽度自动调整大小?

我正在实现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

31
推荐指数
3
解决办法
4万
查看次数

用于mac的Oracle gui界面

让我先说我已经习惯在Mac上使用Sequel Pro进行数据库管理(表创建和内联数据编辑).

我现在也被要求做一些oracle工作,我正在寻找一个与Sequel Pro具有相同功能的Oracle客户端.

我必须能够先ssh然后再登录数据库.在表视图中编辑数据,并能够轻松地运行查询.

我自己发现的唯一产品是navicat.然而,它的工作流程一直在推动我的发展.:)

有什么建议?保持低于500美元将是很好的...我知道蟾蜍,但它是昂贵的,如果有足够的替代品,我想暂缓要求.:)

谢谢,

- =布莱恩

oracle macos ssh user-interface client

9
推荐指数
1
解决办法
2万
查看次数

NSPredicate过滤掉另一组中的所有项目

有没有办法做到这一点?我有一组项目,我想从另一组中排除.我知道我可以循环遍历我的集合中的每个项目,只将它添加到我的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)

这可以用谓词来完成吗?

objective-c nsset nspredicate ios

5
推荐指数
1
解决办法
6017
查看次数

我想要哪种Java对象类型(collection/list/set/whatever)?

我想存储一组基于它们所代表的值键入的对象.这些键可以重复.例如:

 [4] => Bob
 [5] => Mary
 [5] => Sue
 [9] => Steve
[10] => Jason
[10] => Michelle
Run Code Online (Sandbox Code Playgroud)

本质上,我想循环遍历这个并查看每个键并说"是否有另一个对象(在这种情况下是人),其键在当前键的1之内?如果是,请匹配它们并从集合中删除它们. " 我将在上面的示例中迭代"1"值,直到集合为空(或者为奇数场景保留一个对象).

我不相信我试图这样做的方式是最好的方式,所以我也愿意接受反馈.

java collections list set key-value

2
推荐指数
2
解决办法
632
查看次数

Perl的SQLite3:{NAME}无法正常工作?

这是我正在处理的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}不会触发,因为查询工作得很好?

谢谢!

sqlite perl dbi

4
推荐指数
1
解决办法
163
查看次数

将变量传递给类中的方法

我是新手使用类,我正在尝试将变量传递给我的类中的一个方法.我该怎么做?

这是我想要完成的一个例子:

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__概念,如果我不必使用它们,我会在这一点上避开它们.

python class

0
推荐指数
1
解决办法
1056
查看次数

如何在针对XML模式验证XML文件时获取错误的行号

我正在尝试针对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)

java xml xsd sax

16
推荐指数
2
解决办法
2万
查看次数

标签组件消耗鼠标所以标签不会改变

我有一个问题,当我向用作选项卡的组件添加鼠标侦听器时,我无法切换选项卡。

这说明了问题:

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 swing jtabbedpane

5
推荐指数
1
解决办法
1383
查看次数