Java 字符串添加双引号

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 字符串添加双引号相关的知识,希望对你有一定的参考价值。

XZSJ=2012-12-03 09:54:02.0 and USER_NAME=张三 and XSZL=100 and ID=1>
添加完毕之后
XZSJ=“2012-12-03 09:54:02.0” and USER_NAME=“张三” and XSZL=“100” and ID=“1”>
急求 提前谢谢大侠了
我现在就是 拼写SQL 现在其他的都拼写好了就是where 条件查出来是这样子的
XZSJ=2012-12-03 09:54:02.0, USER_NAME=张三, XSZL=100, ID=1 然后我分割替换成
XZSJ=2012-12-03 09:54:02.0 and USER_NAME=张三 and XSZL=100 and ID=1

现在需要接着 实现 双引号 不知道怎么下手了 java 实现

参考技术A 如果是sql中where后面的查询条件,可以根据查找的字段类型进行字符串的添加(单引号就行)。 参考技术B SQL
过滤条件。where后面的由等号,如果为字符串需双引, 如果为数字或日期需单引

参考技术C 这个是sql的查询条件?
那就拼写sql就好了。
不会是不会拼写sql吧。追问

看上面问题

追答

还说别人2b,就这么个简单问题都不会。。。
哎。。。

追问

你把问题看懂了么???2B货 说你还不承认 我这么切割 你给我说 我问的是什么问题???????????傻逼

追答

我震惊了,你最开始的提问只有前面的4行啊。另外估计你还是不知道sql应该怎么拼写。
你这种replace的写法,遇到数据有空的就查不出来了。
你嘴真臭。

追问

2B 货 老子写的功能是两个数据库的数据对比功能。。不查出来空 那对比什么呢???什么都不懂。还在这装B 。。源码给你贴上去你还看不明白老子需要问的是什么。。你还在这 装你2B呢??今年2B特别多

追答

你妈个大xie逼的,你活在自己的世界里面是吗?
你能从你给出的程序中看出这是比较2个库的数据?就你能看出来吧。
问个问题都说不明白,还骂骂咧咧的,你妈没教过你怎么说话是吧。

追问

贼你妈去。你妈跟你爷生的你。什么智商 如果老子不是跨数据库 那还有这么拼接 不会用存储过程 或者触发器。你个二B 真么见过你这傻逼样子。。还在这叫唤 。。谁家的狗赶紧拉走。别在这咬了人

追答

所以我问你为什么这么拼写,然后你就开始骂人了。
你情况没有说清楚,真是个疯狗。

参考技术D 用单引号就可以了。。。。XZSJ=“'2012-12-03 09:54:02.0'” and USER_NAME='张三' and XSZL='100' and ID='1' " 第5个回答  2013-07-02 String sql = "select * from table where XZSJ=\“2012-12-03 09:54:02.0\” and USER_NAME=\“张三\” and XSZL=\“100\” and ID=\“1\""本回答被提问者采纳

从 JSON 对象/字符串或 Java 脚本变量中删除开头和结尾的双引号?

【中文标题】从 JSON 对象/字符串或 Java 脚本变量中删除开头和结尾的双引号?【英文标题】:Remove Double Quotes at Begin & End from JSON Object/String or Java script Variable? 【发布时间】:2013-09-01 03:31:54 【问题描述】:

我从 servlet 获取对象的 JSON 数组,并尝试在 java 脚本中填充表控件。

这是我的代码,出于某种原因,它在开头和结尾添加了双引号,表格控件不接受用于填充值。如何删除开头和结尾的双引号。

 aData = ["A":"one","B":"Two","C":"Three","D":"8","E":"No","F":"Business","G":"0",
 "L1H":"Analytics","A":"ones","B":"Twos","C":"Threes","D":"85","E":"Nos",
 "F":"BusinessD","G":"0","L1H":"AnalyticsM"]

 var oModel = new sap.ui.model.json.JSONModel();
 oModel.setData(modelData: aData);
 var oTable=sap.ui.getCore().byId("id1");
 oTable.setModel(oModel);
 oTable.bindRows("/modelData"); // This static code of aData is working fine in
                                // my Table   control of HTMl page.

 //Here, i Wanted to get values dynamically from servlet and populate it in Table.
  var global;
  $.get('someServlet', function(data)  
 var abc, xyz;
for(var i=0;i<(data.length);i++)
 abc=''+'\"A\":'+'\"'+data[i].A+'\"'+','+'\"B":'+'\"'+data[i].B+'\"'+',
 '+'\"C\":'+'\"'+data[i].C+'\"'+','+'\"D\":'+'\"'+data[i].D+'\"'+',
 '+'\"E\":'+'\"'+data[i].E+'\"'+','+'\"F\":'+'\"'+data[i].F+'\"'+',
 '+'\"G\":'+'\"'+data[i].G+'\"'+','+'\"H\":'+'\"'+data[i].H+'\"';   
        if (xyz===undefined)
            xyz=abc;
        else                
        xyz=abc+','+xyz;
            global = xyz;
        
        global="["+global+"]";
        var oModel = new sap.ui.model.json.JSONModel();
        oModel.setData(modelData: global);
        var oTable=sap.ui.getCore().byId("id1");
        oTable.setModel(oModel);
        oTable.bindRows("/modelData");

    );
     //global="["A":"one","B":"Two","C":"Three"...]"
     //alert(global);  Displaying without double quotes as expected.
     //when I see the value in Chrome debugger double quotes are appearing at begin&End

所以最后我在全局变量中的值是双引号。

//global="["A":"one","B":"Two","C":"Three","D":"8","E":"No","F":"Business","G":"0","L1H":"Analytics",

"A":"ones","B":"Twos","C":"Threes","D":"85","E":"Nos","F":"BusinessD ","G":"0","L1H":"AnalyticsM"]"

如何在这个 resultSet JSONArray 对象的开头和结尾去掉这个双引号?如果我放了警报,它会显示没有双引号。当我在 Chrome 调试器中看到这个全局变量时,它用双引号显示并且无法在表格控件中填充值。我的代码在将值填充到表控件中时遇到了一些困难,这些值来自 JSON 格式/字符串/数组的 Servlet。请帮忙。

感谢任何输入和帮助。

【问题讨论】:

所以看起来你的 ajax 返回了 json,但是你试图去掉除了三个属性之外的所有属性,所以你正在手动构建 json 字符串,并试图将它传递给一个函数?对吗? 哇。我没有意识到那是他在做什么。这很愚蠢。 可以使用stringify将json转成字符串。 【参考方案1】:

La forma Correcta de eliminar las comillas es con

var obJason = eval( dataString );

var obj= "["ID":"786-000X-XX8","NAME":"LISANDRO ARCILES"]";

应用程序eval()

obj= eval( obj);

lo tranforma al obejeto deseado de tipo Json

【讨论】:

请用英文发帖【参考方案2】:

试试这个:

var myJSON = eval( data );

其中 data 是服务器发送的字符串。 eval 函数完成工作,将字符串解析为 JSON。

【讨论】:

【参考方案3】:

您可以在最后调用JSON.parse 将您的字符串解析为一个对象,即:

global=JSON.parse("["+global+"]");

但是,与其在运行中为自己构建一个 JSON 字符串然后对其进行解析,不如设置 var global = []; 并在你的 for 循环中执行以下操作可能更简单:

global.push( 
    Deals: data[i].Deals, 
    L1H: data[i].L1H, 
    L2H: data[i].L2H 
);

您是否尝试过以下方法?

$.get('someServlet', function(data)  
    var oModel = new sap.ui.model.json.JSONModel();
    oModel.setData(modelData: data);
    var oTable=sap.ui.getCore().byId("id1");
    oTable.setModel(oModel);
    oTable.bindRows("/modelData");
);

【讨论】:

这就是我在 servlet response.getWriter().print(jsonArray); 的 doGet 方法中所拥有的。当我做警报(数据)时,得到诸如 [object, Object],[object, Object],[object, Object 对,因为 data 是一个对象数组,应该足以填充表格控件(取决于您使用的方式或内容)。如果您想要数据的文本表示,您可以使用 alert(JSON.stringify(data));,但如果我们的答案都没有帮助您,那么我们可能会误解您遇到的问题。 好的。我很抱歉让你感到困惑。让我换一种说法。 我收到这种格式的错误,例如 Uncaught TypeError: Cannot call method 'push' of undefined【参考方案4】:

您的 global 变量是 JSON 字符串。您不需要构造字符串。据我所知,data 已经是一个 JavaScript 对象。我想这就是你想要的:

var global;    
$.get('someServlet', function(data) 
    global = data;
    populateTable(global);  // You could just as easily pass the data variable here
);

【讨论】:

我可以用静态数据填充表,例如 global=["A":"one","B":"Two","C":"Three","D ":"8","E":"否","F":"商业","G":"0","L1H":"分析", "AB":"one","BC ":"二","CD":"三","DF":"8","EG":"否","FZ":"商业","GM":"0","L1H": "Analytics" ] 当我从数据中获取这个全局变量的值时,它失败了。我怎样才能做到这一点? 在上面的示例中,您应该能够在设置全局变量后立即调用该函数来填充该表。我编辑了我的示例以说明我的意思。 这失败了。当我将全局直接分配给表格控件时,出现错误。当我喜欢这个 global = ["A":"one","B":"Two","C":"Three","D":"8","E":"No"," F":"Business","G":"0","L1H":"Analytics","AB":"one","BC":"Two","CD":"Three"," DF":"8","EG":"No","FZ":"Business","GM":"0","L1H":"Analytics"];填充(全局),它正在工作 请将console.log(data); 放入$.get 回调函数中。它在控制台中显示什么? [对象,对象],[对象,对象],[对象,对象],[对象,对象],[对象,对象],[对象,对象]....【参考方案5】:

不要自己构建或解析 json。有一些方法可以为您做到这一点。

如果您返回的 json 仅包含具有三个属性 DealsL1HL2H 的对象数组,那么 data 就是您想要的。如果返回的 json 有更多属性,而您只想要这三个,请改为:

function(data) 

    var arr = $.map(data, function(item, idx) 
        return 
            Data: item.Data,
            L1H: item.L1H,
            L2H: item.L2H
        ;
    );

【讨论】:

感谢您的所有回复。实际上,我正在将 JSON 数组格式的数据库结果集传递给 servlet。这是我传递给 servlet 的 JSON 数组。["A":"one","B":"Two","C":"Three","D":"8","E" :"No","F":"Business","G":"0","L1H":"Analytics", "AB":"one","BC":"Two","CD" :"Three","DF":"8","EG":"No","FZ":"Business","GM":"0","L1H":"Analytics" ]。这意味着,从 JDBC 程序返回的行数。 如果我在代码中不自己解析,就会报错。 我以其他方式重申了我的问题。有人能再看看我的担忧吗?【参考方案6】:

由于您使用的是 jQuery,请尝试http://api.jquery.com/jQuery.parseJSON/,它会改为返回一个对象。

【讨论】:

以上是关于Java 字符串添加双引号的主要内容,如果未能解决你的问题,请参考以下文章

javascript怎么去掉字符串首尾的双引号

从 JSON 对象/字符串或 Java 脚本变量中删除开头和结尾的双引号?

java String怎么可以包含多个双引号不报错

java怎么处理带引号的字符串

当JAVA遇到有双引号的String怎么办

如何在vba中的字符串中添加双引号?