小编Pro*_*uce的帖子

json_encode添加不需要的斜杠

我的数据库中保存了一个json字符串.当我从db检索它以将其传递给javascript函数(ajax调用),以及该行的id时,我是json_encoding两者(查询结果数组)并将其传递给js.但是json_encode正在为我已经的json字符串添加不需要的斜杠.如何逃避它.记住我必须将id作为数组中的第二个元素传递.

我在db中的json字符串是这样的:

{"field":"City","term":"Hawaiian Gardens, CA"}
Run Code Online (Sandbox Code Playgroud)

并且id是5.

所以PHP中的查询结果数组是:

$savedVal['id'] = 5 
$savedVal['object_str'] = {"field":"City","term":"Hawaiian Gardens, CA"}
Run Code Online (Sandbox Code Playgroud)

所以在json_encode($ savedVal)之后理想情况下它应该是:

{"id":"5","object_str":{"field":"City","term":"Hawaiian Gardens, CA"}}
Run Code Online (Sandbox Code Playgroud)

但json_encoding数组给了我:

{"id":"5","object_str":"{\"field\":\"City\",\"term\":\"Hawaiian Gardens, CA\"}}
Run Code Online (Sandbox Code Playgroud)

在object_str值周围也有额外的斜杠和引号.请帮我.

谢谢.

javascript json

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

如何使用ActiveSupport 3(Rails)使用不带引号的密钥解析无效JSON

我需要在Ruby中解析某些无效的JSON.

就像是:

json_str = '{name:"Javier"}'
ActiveSupport::JSON.decode json_str
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,它是无效的,因为哈希键没有被引用,它应该是

json_str = '{"name":"Javier"}'
Run Code Online (Sandbox Code Playgroud)

但这不能改变,我必须解析未引用的密钥.

我可以使用ActiveSupport 2.x解析它,但ActiveSupport 3不允许我.它抛出了我:

Yajl::ParseError: lexical error: invalid string in json text.
                                      {name:"Javier"}
                     (right here) ------^
Run Code Online (Sandbox Code Playgroud)

顺便说一下,它是一个使用一些Rails库的Ruby应用程序,但它不是Rails应用程序

提前致谢

ruby json ruby-on-rails-3

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

android蜂窝菜单按钮目标

我想让我的应用程序向后兼容,所以我需要显示菜单按钮,因为我们在以前版本的应用程序中使用了菜单按钮.

所以我正在阅读并且它说如果你的目标是11(3.0)而不是你没有得到菜单按钮,但它你的目标是10你做的.

但问题是我使用碎片所以我的目标必须是11.

有什么想法吗.

android menu button target android-3.0-honeycomb

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

设备api级别<11的DialogFragments

我正在制作一个与1.6+兼容的蜂窝项目/前叉.

基于Google/Android提供的文档,我决定将我的所有片段构建起来,这些片段DialogFragment非常适合蜂窝...它使我可以灵活地将任何内容作为对话框或"全屏"元素.

我现在已经整合了兼容工具包,并将我的导入和方法调用移到了那里.现在我在2.3我试图发起一个相同的意图,但我收到这个问题:

java.lang.IllegalStateException: DialogFragment can not be attached to a container view
Run Code Online (Sandbox Code Playgroud)

该文档DialogFragment表明它可以Fragment在您不需要对话框/弹出功能时执行.

android android-layout android-fragments android-3.0-honeycomb

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

将java Object转换为CSV

我应该使用什么API将Java对象转换为CSV.我可以使用google-gson将java对象转换为CSV格式吗?

java gson

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

打开移动网络设置菜单时出错

嗨,我想用以下代码打开移动网络设置:


Intent intentSettings = new Intent();

intentSettings.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intentSettings.setAction(Settings.ACTION_DATA_ROAMING_SETTINGS);
             cont.startActivity(intentSettings);
Run Code Online (Sandbox Code Playgroud)

但它给了我这个错误.任何人的想法?

12-10 11:17:34.902: ERROR/AndroidRuntime(623): android.content.ActivityNotFoundException: No Activity found to handle Intent { action=android.settings.DATA_ROAMING_SETTINGS flags=0x4000000 }
Run Code Online (Sandbox Code Playgroud)

谢谢

android android-intent

8
推荐指数
1
解决办法
9523
查看次数

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

从活动中调用片段事件

所以,我把我的片段中的事件传递给了活动,所以如何让它成为轮流中的活动,通知片段B做某事.我想片段B在片段A点击列表项时填充自定义列表.因此,它将事件发送到活动,现在如何让活动调用片段B中的事件?

android android-fragments

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

在片段android中查看重用

我试图在我的片段中保存我的视图状态,但我担心我会泄漏我的活动.这是我在做的事情:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle state){
   if(mView != null){
      View oldParent = mView.getParent();
      if(oldParent != container){
         ((ViewGroup)oldParent).removeView(mView);
      }
      return mView;
   }
   else{
      mView = inflater.inflate(R.id.fragview, null)
      return mView;
   }
}
Run Code Online (Sandbox Code Playgroud)

我很担心,因为我知道所有的视图都保留在上下文中,如果从inflater中膨胀,我不知道它是否是Activity上下文或Application上下文.也许最好的做法是使用getActivity().getApplication()而不是使用inflater来实际创建视图并设置其属性.我将不胜感激任何反馈.

谢谢!

编辑:确认活动泄漏,虽然这段代码工作得很好不要这样做:*(

android memory-leaks android-fragments android-support-library

8
推荐指数
1
解决办法
5124
查看次数

在Android上使用GSON将JSON日期格式解析为String

我从JSON提要中获取了很多日期.

它们看起来像这样: \/Date(1307972400000+0200)\/

我需要使用Java将这些日期解析为小时和分钟.

编辑:

这是我走了多远:

String s = dateString.replaceAll("^/Date\\(" , "");
Run Code Online (Sandbox Code Playgroud)

这给了我以下输出: 1307972400000+0200)/

如何删除这个字符串的其余部分,有什么建议吗?

我希望它像这样: 1307972400000L

java android json date gson

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