Tag: 解析

Parse在PHP中转义了JSON

我是PHP世界的新手,我在PHP中解析JSON时遇到了问题。 我想使用Apache HttpClient 4.x和Gson使用我的Java客户端将数据发布到PHP脚本。 我的JSON: [{“Knt_KntWatchId”:”15″,”type”:”INSERT”,”Knt_Nazwa1″:”a”},{…},…] 我使用HttpClient和Gson用Java发送它: List contacts = …; HttpPost post = new HttpPost(CONTACTS_SERVICE); List nameValuePairs = new ArrayList(); nameValuePairs.add(new BasicNameValuePair(“key”, AppConstants.KEY)); nameValuePairs.add(new BasicNameValuePair(“data”, new Gson().toJson(contacts))); post.setEntity(new UrlEncodedFormEntity(nameValuePairs)); post.setHeader(“Content-Type”, “application/x-www-form-urlencoded; charset=UTF-8”); 在页面上: if (isset($_POST[‘data’])) { $data = $_POST[‘data’]; $json = json_decode($data, true); var_dump($json); var_dump($data); 我得到的是: NULL string(3651) “[{\”Knt_KntWatchId\”:\”15\”,\”type\”:\”INSERT\”,\”Knt_Nazwa1\”:\”a\”},… 我怎样才能让它运作起来? PHP 5.2 – 不能使用json_last_error()

从Android中的EditText中避免解析错误

对于stackoverflow社区,我创建了这个方法来将一些EditText字段转换为双精度数。 我为了避免解析错误而专门添加了if语句,因为我知道我的几个EditText字段将留空。 但是,它们仍然在运行时继续运行。 有没有人知道避免解析空白字段的正确方法? 非常感谢你。 private double Doublify(EditText editText){ if(!(editText.getText().equals(null))){ return Double.parseDouble(editText.getText().toString()); } return 0; }

GSON解析未指定的类型变量

我用GSON库解析服务器JSON响应。 后端人员有时会告诉我:“我们不能出于某种原因在JSON中指定变量类型”(旧的PHP,他们不知道如何去做等等)。 GSON喜欢在其对象模型中进行强类型输入。 所以我不能将Object解析为String。 GSON等待: { “service”:{ “description”:null, “name”:”Base”, “id”:”4c7a90410529″ } } 但它得到(空数据): “service”: “” 我明白了 java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1396 解析此类响应的最佳做法是什么? 另一个问题:我如何构建对象,它可以识别不时返回为Integer或String的Integer变量? 相同的服务器端问题。 “data”: “1” 要么 “data”: 1 我知道 – 我们应该在Java中使用特定类型。 但有时候做出让步是值得的, 谢谢 编辑:我的解决方案基于Java Developer的答案。 ServiceDeserializer类根据其内部值反序列化每个对象。 public class ServiceDeserializer implements JsonDeserializer{ @Override public ServiceState deserialize(JsonElement json, Type typeOfT, […]

在Android上有解析库的数学表达式吗?

目前我在iOS上有一个应用程序,我希望移植到Android。 此应用程序使用Objective-C GCMathParser框架/类。 我正在寻找Android上的替代品(或使GCMathParser在Android上运行的方法),它可以计算如下内容: 2*2 (2+3)+2 ((2+3)+2)/5 (-2 + sqrt((-5^2)-4*2*3))/(2 * 2) 我希望能够将一个字符串输入到此(如上所述)并返回结果,最好是相对精确(如double)。 在Android上解析数学表达式有哪些选择?

如何从Java中的HTML文件中获取值?

我需要从HTML文件中获取一个值(下面的示例中为“abc”),如下所示: 正如我从其他post中发现的那样,我应该使用其中一个HTML解析器(而不是正则表达式)。 你能告诉我使用哪一个或显示代码示例。 谢谢。

从Java中的HTTP响应中解析JSON数组

我正在使用Apache的HTTP客户端,并且正在尝试从我从客户端获得的响应中解析JSON数组。 这是我收到的JSON的一个例子。 [{“created_at”:”2013-04-02T23:07:32Z”,”id”:1,”password_digest”:”$2a$10$kTITRarwKawgabFVDJMJUO/qxNJQD7YawClND.Hp0KjPTLlZfo3oy”,”updated_at”:”2013-04-02T23:07:32Z”,”username”:”eric”},{“created_at”:”2013-04-03T01:26:51Z”,”id”:2,”password_digest”:”$2a$10$1IE6hR4q5jQrYBtyxMJJBOGwSPQpg6m5.McNDiSIETBq4BC3nUnj2″,”updated_at”:”2013-04-03T01:26:51Z”,”username”:”Sean”}] 我使用http://code.google.com/p/json-simple/作为我的json库。 HttpPost httppost = new HttpPost(“SERVERURL”); httppost.setEntity(input); HttpResponse response = httpclient.execute(httppost); BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent())) Object obj=JSONValue.parse(rd.toString()); JSONArray finalResult=(JSONArray)obj; System.out.println(finalResult); 这是我尝试过的代码,但它不起作用。 我不确定该怎么做。 任何帮助表示赞赏,谢谢。

SimpleDateFormat添加几分钟

我尝试从JSONObject解析日期 “timcre_not”:”2013-12-11 21:25:04.800842+01″ 我解析 mDate = new SimpleDateFormat(“yMd h:m:s.SSSSSSZZ”, Locale.ENGLISH).parse(json.getString(“timcre_not”)); 但是mDate值是: Wed Dec 11 21:38:24 CET 2013 发生什么事?

org.xml.sax.SAXParseException:解析XML时出现意外的标记

更新: –似乎我必须提供返回xml的URL。 这是 – URL 我在解析xml时遇到了SAXParseException。 我试图解析的xml如下 – 我用来解析这个xml的代码如下 – public Document getDomElement(String xml) { Document doc = null; DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); try { DocumentBuilder db = dbf.newDocumentBuilder(); InputSource is = new InputSource(); is.setCharacterStream(new StringReader(xml)); doc = db.parse(is); } catch (ParserConfigurationException e) { e.printStackTrace(); Log.e(“ParserConfigurationException: “, e.getMessage()); return null; } catch (SAXException e) { […]

无法解析包含特殊字符的值? 使用sax解析器

我是解析字段的新手。 我正在尝试编写解析器代码,但无法获取值包含ampersand(&)的特定标记的值。 请帮我解决。 我的xml文件看起来像 10145 1800015 B & P Infotech Ltd. 我尝试过这个java代码,但它没有给我正确的输出。 主要class级 package com.satya.xmltest; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; public class SaxTest { public static void main(String[] args) { SAXParserFactory parserFactory = SAXParserFactory.newInstance(); SaxtestHandler handler=new SaxtestHandler(); try { SAXParser parser = parserFactory.newSAXParser(); parser.parse(“C:\\Users\\abc\\Desktop\\test.xml”, handler); } catch (Exception e) { } SystemTo systemTo=handler.systemTo; System.out.println(“Uid :”+systemTo.getUid()); System.out.println(“serial […]

如何获取antlr解析的错误消息?

我用antlr 4.4编写了一个语法,如下所示: grammar CSV; file : row+ EOF ; row : value (Comma value)* (LineBreak | EOF) ; value : SimpleValueA | QuotedValue ; Comma : ‘,’ ; LineBreak : ‘\r’? ‘\n’ | ‘\r’ ; SimpleValue : ~(‘,’ | ‘\r’ | ‘\n’ | ‘”‘)+ ; QuotedValue : ‘”‘ (‘””‘ | ~'”‘)* ‘”‘ ; 然后我使用antlr 4.4生成解析器和词法分析器,这个过程是成功的 […]