Tag: parsing

用Gson把JSON数组parsing成java.util.List

我有一个JsonObject名为"mapping"与以下内容: { "client": "127.0.0.1", "servers": [ "8.8.8.8", "8.8.4.4", "156.154.70.1", "156.154.71.1" ] } 我知道我可以得到数组"servers" : mapping.get("servers").getAsJsonArray() 现在我想parsingJsonArray到一个java.util.List … 什么是最简单的方法来做到这一点?

任何体面的PHPparsing器用PHP编写的?

我做了很多操作和分析PHP代码的工作。 通常我只是使用Tokenizer来做到这一点。 对于大多数应用来说,这就足够了 但是,有时使用词法分析器parsing不够可靠(显然)。 因此,我正在寻找一些用PHP编写的PHPparsing器。 我find了hnw / PhpParser和kumatch / stagehand-php-parser 。 两者都是通过使用PHP而不是C将zend_language_parser.y自动转换为.y文件(然后编译为LALR(1)parsing器)来创build的。 但是,这种自动转换只是不能使用。 那么,有没有用PHP编写的像样的PHPparsing器? (我需要一个PHP 5.2和一个5.3,但其中只有一个将是一个很好的起点。)

学习parsing器,解释器和编译器资源

我一直想玩一段时间写自己的语言(表面上是为了学习经验),因此需要相对build立parsing器,解释器和编译器。 所以: 有没有人知道构buildparsing器,解释器和编译器有什么好的资源? 编辑:我不在寻找编译器/编译器/parsing器编译器,如Lex,Yacc和野牛…

如何防止用户生成的HTML内的Javascript注入攻击

我正在保存用户提交的HTML(在数据库中)。 我必须防止Javascript注入攻击。 我所看到的最有害的是一个style =“expression(…)”的脚本。 除此之外,相当数量的有效用户内容将包括特殊字符和XML结构,因此如果可能的话,我想避免使用白名单方法。 (列出每个允许的HTML元素和属性)。 Javascript攻击string的例子是: 1) “你好,我对<dog>元素有一个<script>警告(”坏!“)</ script>问题…” 2) “嗨,这个<b style =”width:expression式(alert('bad!'))“>狗</ b>是黑色的。 有没有办法来防止这样的Javascript,并保持完整的rest? 我迄今唯一的解决scheme是使用正则expression式来删除某些模式。 它解决了案例1,但不是案例2。 编辑:对不起,忘了提及环境 – 它本质上是MS堆栈: SQL Server 2005 C#3.5(ASP.NET) Javascript(显然)和jQuery。 我想chopppoint是ASP.NET层 – 任何人都可以制作一个错误的HTTP请求。 编辑2: 感谢大家的链接。 假设我可以定义我的列表(他的内容将包括许多math和编程结构,所以白名单将是非常恼人的)我仍然有一个问题在这里: 什么样的parsing器可以让我删除“坏”的部分? 坏的部分可能是一个完整的元素,但是那些驻留在属性中的脚本又如何? 我无法删除<a hrefs> willy-nilly。

Java,“variables名”不能parsing为variables

我使用Java使用Eclipse,我得到这个错误: "Variable name" cannot be resolved to a variable. 有了这个Java程序: public class SalCal { private int hoursWorked; public SalCal(String name, int hours, double hoursRate) { nameEmployee = name; hoursWorked = hours; ratePrHour = hoursRate; } public void setHoursWorked() { hoursWorked = hours; //ERROR HERE, hours cannot be resolved to a type } public double calculateSalary() […]

一个令人困惑的细节关于最烦人的parsing

我的问题是如何将下面的行作为函数声明进行分析: vector<int> v(istream_iterator<int>(cin), istream_iterator<int>()); 我明白最烦恼的parsing的大部分细节,为什么第二个临时迭代器可以被解释为一个函数返回一个迭代器,并且没有参数的types,但是我没有得到的是为什么第一个临时迭代器可以是解释为一种types。 它代表什么types? 我的想法是,这将是某种functiontypes,但我不知道如何使用名称。 它声明的参数是一个istream_iterator<int>名为cin吗? 如果是这样,这是否意味着你可以任意地将参数的名称括起来作为函数? 如果是这样,为什么?

Jmeter提取字段/parsingJSON响应

我有响应正文中的以下JSON格式 [ { "Name" : "Prashant", "City" : "Sydney" }, { "Name" : "Yogi", "City" : "London" } ] 有什么更好的方法来检查这个数组是否有任何logging,如果是的话,给我第一个数组索引的“名称”。 我正在使用jp @ gc JSON提取器插件jMeter。 有没有可能使用插件parsing这个,或者我需要使用正则expression式吗?

如何防止扫描仪在input错误types时抛出exception?

以下是一些示例代码: import java.util.Scanner; class In { public static void main (String[]arg) { Scanner in = new Scanner (System.in) ; System.out.println ("how many are invading?") ; int a = in.nextInt() ; System.out.println (a) ; } } 如果我运行程序,并给它一个像4这样的int ,那么一切都很好。 另一方面,如果我回答too many ,不会笑我的笑话。 相反,我得到这个(如预期): Exception in thread "main" java.util.InputMismatchException at java.util.Scanner.throwFor(Scanner.java:819) at java.util.Scanner.next(Scanner.java:1431) at java.util.Scanner.nextInt(Scanner.java:2040) at java.util.Scanner.nextInt(Scanner.java:2000) at […]

按列sortingcsv

我想按datesortingCSV表格。 开始做一个简单的任务: import sys import csv reader = csv.reader(open("files.csv"), delimiter=";") for id, path, title, date, author, platform, type, port in reader: print date 我使用Python的CSV模块读取具有该结构的文件: id;file;description;date;author;platform;type;port date是ISO-8601,所以我可以很容易地对它进行sorting而不用parsing:2003-04-22例如 我想按datesorting,最新的条目 我如何让这个读者进入一个可sorting的数据结构? 我想我可以做一个date列表:datelist + =date,拆分和sorting。 不过,我必须重新确定CSV表格中的完整条目。 这不仅仅是对事物清单进行sorting。 csv似乎没有内置的sortingfunction 最佳的解决scheme是有一个CSV客户端,像数据库一样处理文件。 我没有find这样的事情。 我希望有人在这里知道一些很好的sorting魔法;) 谢谢, 马吕斯

如何检查一个string是可parsing的双?

有没有一个本地的方式(最好不执行自己的方法)来检查一个string是可以用Double.parseDouble()parsing?